MBProgressHUD call from ViewDidLoad



我从MBProgressHUD调用我的rss解析器,目前它在viewdidappear,它的工作原理,但我想要它在viewdidload所以当我回去它不重新加载它-然而,当我把它移动到viewdidload它运行的过程,但不是MBProgressHUD。

- (void)viewDidLoad {
    [super viewDidLoad];
        self.title = @"Results";
    HUD = [[MBProgressHUD alloc] initWithWindow:[UIApplication sharedApplication].keyWindow];

    [self.view.window addSubview:HUD];
    HUD.delegate = self;
    HUD.labelText = @"Loading";
    HUD.detailsLabelText = @"updating data";
    //Show the HUD while the provided method executes in a new thread
    [HUD showWhileExecuting:@selector(loadResults) onTarget:self withObject:nil animated:YES];

    }

任何想法?

谢谢,汤姆

在viewDidLoad方法中,self。视图将在没有父视图和窗口的情况下被加载。例如,self.view.superview会在viewWillAppear方法中被加载,然后self.view.window会在viewDidAppear方法中被加载。这就是为什么self。view。window addSubview:HUD]不会在viewDidLoad中发生,但是[self。

试试下面的代码,它在我的末端工作得很好

- (void)viewDidLoad {
    [super viewDidLoad];    
    HUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    HUD.labelText = @"Loading";
    HUD.detailsLabelText = @"updating data";    
}

最新更新