首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否在ViewController上显示SVProgressHUD?

是否在ViewController上显示SVProgressHUD?
EN

Stack Overflow用户
提问于 2016-09-28 15:45:26
回答 2查看 1.9K关注 0票数 2

我使用了AppDelegate中的web服务。但是我想在初始的视图控制器(视图控制器)上显示SVProgressHUD,当网络服务完成后,在视图控制器中隐藏SVProgressHUD。

EN

回答 2

Stack Overflow用户

发布于 2019-03-10 11:38:05

SVProgressHUD上有一个静态方法,称为

+ (void)setContainerView:(UIView*)containerView;

代码语言:javascript
复制
[SVProgressHUD setContainerView:yourViewController.view];
票数 2
EN

Stack Overflow用户

发布于 2016-09-28 17:10:00

我理解你的需求,我的建议是打包两个类,HUDMysevers

我这里有一个令牌示例:

HUD.m

代码语言:javascript
复制
#import "HUD.h"
#import <UIKit/UIKit.h>
#import "MBProgressHUD.h"

@implementation HUD


 +(void)addHUD
{
    MBProgressHUD*  HUD = [[MBProgressHUD alloc]initWithFrame:CGRectMake(0, 0, IPHONE_WIDTH, IPHONE_HEIGHT)];

    HUD.tag = 5000;
    HUD.labelText = @"正在加载";

    [WINDOW addSubview:HUD];
    [HUD show:YES];
}

+(void)removeHUD
{
    MBProgressHUD*  HUD = (MBProgressHUD*)[WINDOW viewWithTag:5000];
    [HUD removeFromSuperview];

    HUD = nil;

}

@end

Mysevers.m

代码语言:javascript
复制
#import "Mysevers.h"
#import "AFNetworking.h"
#import "HUD.h"

@implementation Mysevers

+(void)AFPOSTAddressname:(NSString*)addressName parmas:(NSDictionary*)parmas RequestSuccess:(void(^)(id result))success failBlcok:(void(^)(void))failBlcok{

 [HUD addHUD];
    AFHTTPSessionManager *requestManager = [AFHTTPSessionManager manager];

    NSString *urlStr = [NSString stringWithFormat:@"%@%@",BASE_URL,addressName];
    NSLog(@"%@",urlStr);

/*[requestManager POST:urlStr parameters:parmas success:^(NSURLSessionTask *task, id responseObject) {
    [HUD removeHUD];
    success(responseObject);
} failure:^(NSURLSessionTask *operation, NSError *error) {
    NSLog(@"error==%@",[error localizedDescription]);
    [HUD removeHUD];
    failBlcok();
}];*/

[requestManager POST:urlStr parameters:parmas progress:^(NSProgress * _Nonnull uploadProgress) {

} success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    [HUD removeHUD];
    success(responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

    if (error != nil) {
        NSLog(@"error==%@",[error localizedDescription]);
        [HUD removeHUD];
        failBlcok();
    }


    return ;
}];


}


  +(void)AFGETAddressname:(NSString*)addressName parmas:(NSDictionary*)parmas RequestSuccess:(void(^)(id result))success failBlcok:(void(^)(void))failBlcok{
    [HUD addHUD];
    AFHTTPSessionManager *requestManager = [AFHTTPSessionManager manager];

    NSString *urlStr = [NSString stringWithFormat:@"%@%@",BASE_URL,addressName];

NSLog(@"%@",urlStr);


/*[requestManager GET:urlStr parameters:parmas success:^(NSURLSessionTask *task, id responseObject) {

    [HUD removeHUD];
    success(responseObject);
} failure:^(NSURLSessionTask *operation, NSError *error) {
    NSLog(@"error==%@",[error localizedDescription]);

    [HUD removeHUD];
    failBlcok();
}];*/

[requestManager GET:urlStr parameters:parmas progress:^(NSProgress * _Nonnull downloadProgress) {

} success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    [HUD removeHUD];
    success(responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    NSLog(@"error==%@",[error localizedDescription]);

    [HUD removeHUD];
    failBlcok();
}];



}
@end

使用

您可以在您的项目中进行测试:

代码语言:javascript
复制
[Mysevers AFPOSTAddressname:url parmas:params RequestSuccess:^(id result) {
   // code here
}

希望这能对你有所帮助,这是我的experience.And,如果你想用SVProgressHUD,你也可以换掉MBProgressHUD

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39741108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档