2014-10-01 21 views
0

當按下按鈕時,我創建一個新的ViewController並推送它
這需要1.5秒鐘我想顯示」WAIT「或」LOADING 「標籤,雖然創建ViewController,但它不會被顯示顯示「WAIT or」LOADING「 - 創建新的ViewController時的標籤

我試圖添加一個隱藏的標籤,但視圖不會顯示它,當我設置hidden=NO。此外視圖刷新不起作用。任何想法?

- (IBAction)pushNext:(id)sender { 
    // UILabel *ll = (UILabel *) [self.view viewWithTag:7]; 
    // ll.hidden = NO; 
    // label[7].hidden = NO; 
    ViewController *gameViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"]; 
    gameViewController.level = _nextLevel; 
    [self.navigationController pushViewController:gameViewController animated:YES]; 
} 

回答

0

它不應該花那麼多東西移動gameViewController從viewDidLoad t o viewDidAppear

而且使用後:

// Create loading UIActivityIndicator 
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
    // All viewDidAppear code 

    dispatch_async(dispatch_get_main_queue(), ^{ 
     // Remove loading 
    }); 
}); 
+0

謝謝,但是,結果在一個空白(白色)視圖。它顯示了我的故事板的元素,但不是我的「主要」子視圖。也許你的想法做異步可能是解決方案。我將嘗試在dispatch_async中移動viewcontroller的創建。當我註釋掉pushViewController時,出現「WAIT」標籤。這似乎是一個時間問題? – Lutz 2014-10-01 09:39:04

+0

不,..當您嘗試加載gameViewController時,整個應用程序會凍結,因爲您可能有一個請求,或者一個處理器的工作很大。如果你移動了需要花費時間的東西......你將會順利地傳遞給gameViewController,並且在作業完成後,其他元素應該會出現 – 2014-10-01 09:49:23

相關問題