我从MBProgressHUD调用我的rss解析器,此时它在viewdid中显示并且它可以工作,但是我想在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];
}
有什么想法吗?
谢谢,汤姆
答案 0 :(得分:2)
在viewDidLoad方法中,将加载self.view而不使用其superview和window。例如,self.view.superview将在viewWillAppear方法中加载,然后self.view.window将在viewDidAppear方法中加载。这就是为什么[self.view.window addSubview:HUD]不会在viewDidLoad中发生,但[self.view addSubview:HUD]可以正常工作。
答案 1 :(得分:0)
尝试以下代码,我的工作正常。
- (void)viewDidLoad {
[super viewDidLoad];
HUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
HUD.labelText = @"Loading";
HUD.detailsLabelText = @"updating data";
}