2011-10-04 71 views
1

我打電話給我從MBProgressHUD的rss解析器,目前它在viewdidappear和它的作品,但我希望它在viewdidload,所以當我回去時它不會重新加載它 - 但是,當我將它移動到viewdidload運行進程但不是MBProgressHUD。來自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

嘗試下面的代碼,它在我結束工作的罰款。

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

你在哪裏告訴它要加載什麼?例如,我使用ShowWhileExecuting位來說我loadResults的子程序運行 – TMB87

+0

我已經添加了你添加了什麼,然後我的showWhileExecuting,它現在工作。謝謝 – TMB87

2

在viewDidLoad方法中,將self.view沒有它的父窗口和被加載。例如,self.view.superview將被加載到viewWillAppear方法中,然後self.view.window將被加載到viewDidAppear方法中。這就是爲什麼[self.view.window addSubview:HUD]不會在viewDidLoad中發生,但[self.view addSubview:HUD]的作用。