2011-10-04 6 views
1

J'appelle mon analyseur rss de MBProgressHUD et pour le moment il est dans viewdidappear et cela fonctionne, mais je le veux dans viewdidload alors quand je reviens il ne le recharge pas - mais quand je le déplace vers viewdidload il exécute le processus mais pas MBProgressHUD.Appel MBProgressHUD de ViewDidLoad

- (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]; 


    } 

Toutes les idées?

Merci, Tom

Répondre

0

Essayez ci-dessous le code, son travail bien à ma fin.

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

Sur quoi vous dites-vous quoi charger? Par exemple j'utilise le bit ShowWhileExecuting pour dire mon sous-programme de loadResults pour exécuter – TMB87

+0

J'ai ajouté ce que vous avez ajouté puis mon showWhileExecuting et ça marche maintenant. Je vous remercie – TMB87

2

Dans la méthode viewDidLoad, le self.view est chargé sans sa vue d'ensemble et sa fenêtre. Par exemple, self.view.superview sera chargé dans la méthode viewWillAppear, puis self.view.window sera chargé dans la méthode viewDidAppear. C'est pourquoi le [self.view.window addSubview: HUD] ne se produira pas dans viewDidLoad, mais le [self.view addSubview: HUD] fonctionne.