3

在我的iOS應用程序中,我想在Root View Controller中顯示屏幕後執行一系列操作。然而,似乎iOS應用程序正在調用viewDidAppear,而啓動屏幕(即顯示Default.png圖像)仍然在屏幕上,並且在根視圖控制器佈置在屏幕上之前。我已經在viewDidLoad中嘗試了相同的代碼,並且有同樣的問題。只有當根視圖控制器實際上在屏幕上時,我如何強制代碼才能運行?iOS根視圖控制器的viewDidAppear:在啓動屏幕(Default.png)仍在屏幕上時調用

回答

2
在viewDidLoad中使用

[self performSelector:@selector(loadData) withObject:nil afterDelay:.5]; 

然後用loaddata方法裏面的代碼......

2

我只是遇到了一個非常類似的問題我自己,其中我想顯示之後模態登錄我的觀點加載根視圖控制器。我以前一直在使用viewDidAppear,但是當我升級到iOS 4.3 SDK時,行爲破裂了。

我通過從應用程序代理的application:didFinishLaunchingWithOptions:選擇器調用我的根視圖控制器上的選擇器來修復它。在另一個答案中使用延遲是一個混亂,可能不完全可靠。

yourAppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
    // Add the view controller's view to the window and display. 
    [self.window addSubview:viewController.view]; 
    [self.window makeKeyAndVisible]; 

    // Invoke operations here. For example, show login view: 
    [viewController showModalLoginView]; 

    return YES; 
} 
相關問題