首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MBProgressHUD无法显示

MBProgressHUD无法显示
EN

Stack Overflow用户
提问于 2016-03-15 06:22:04
回答 4查看 2.4K关注 0票数 0

我使用MBProgressHUD向用户显示提示,但它没有显示。有许多viewcontrollers使用相同的方法。只有一个页面不能显示它,这个视图控制器是用xib创建的。该方法如下:

代码语言:javascript
复制
-(void)creatHUD:(NSString *)hud {

    if (!HUD) {
        HUD = [[MBProgressHUD alloc] initWithView:self.view] ;
        [self.view addSubview:HUD];
        HUD.delegate = self;
    }
    HUD.labelText = hud;
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-03-15 07:14:20

试试这段代码

代码语言:javascript
复制
UIView *window = [UIApplication sharedApplication].keyWindow;

MBProgressHUD * hud = [MBProgressHUD showHUDAddedTo:window animated:YES];

[hud show:YES];

希望这能成功..。

票数 2
EN

Stack Overflow用户

发布于 2016-03-15 06:32:11

既然问题还不清楚,我想你是想用背景线索来显示。请尝尝这个。

代码语言:javascript
复制
dispatch_async(dispatch_get_main_queue(), ^{
        //show Hud code here
    });
票数 0
EN

Stack Overflow用户

发布于 2016-03-15 06:36:04

我也使用MBProgressHUD,我的实现是:

  1. 只在MBProgressHUD中显示[UIApplication sharedApplication].keyWindow
  2. 千万不要在视图中添加一个以上的Hud。 我将其打包,这是我的代码:
代码语言:javascript
复制
#define APP [UIApplication sharedApplication]
+ (MBProgressHUD *)Hud
{
    MBProgressHUD *hud = [MBProgressHUD HUDForView:APP.keyWindow];
    if (hud){
        [hud removeFromSuperview];
    }else{
        hud = [[MBProgressHUD alloc] initWithWindow:APP.keyWindow];
        hud.removeFromSuperViewOnHide = YES;
    }
    [APP.keyWindow addSubview:hud];
    return hud;
}

+ (void)showMsg:(NSString *)message
{
    MBProgressHUD *hud = [self Hud];
    hud.labelText = message;
    hud.mode = MBProgressHUDModeText;
    hud.labelFont = [UIFont systemFontOfSize:13];
    [hud show:YES];
    [hud hide:YES afterDelay:1.0];
}

+ (void)showLoading
{
    [self showLoading:@"please wait..."];
}

+ (void)showLoading:(NSString *)message
{
    MBProgressHUD *hud = [self Hud];
    hud.labelText = message;
    hud.mode = MBProgressHUDModeIndeterminate;
    hud.labelFont = [UIFont systemFontOfSize:13];
    [hud show:YES];
}

+ (void)hideHUD
{
    MBProgressHUD *hud = [MBProgressHUD HUDForView:APP.keyWindow];
    [hud hide:YES];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36004016

复制
相关文章

相似问题

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