iOS 根视图控制器的视图显示:在初始屏幕(默认.png)仍在屏幕上时调用



在我的iOS应用程序中,我想在我的根视图控制器已经出现在屏幕上后运行一系列操作。然而,似乎iOS应用程序正在调用viewDidAppear,而闪屏(即显示Default.png图像)仍然在屏幕上,在根视图控制器布局在屏幕上之前。我也尝试过同样的代码在viewDidLoad,并有同样的问题。我怎样才能强制代码只运行一次根视图控制器实际上是在屏幕上?

in viewdidload use this

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

我自己刚刚遇到了一个非常类似的问题,其中我想在我的根视图控制器加载后显示一个模态登录视图。我以前一直在使用viewDidAppear,但当我升级到iOS 4.3 SDK时,这种行为就坏了。

我通过从应用程序委托的application:didFinishLaunchingWithOptions:选择器在我的根视图控制器上调用选择器来修复它。在另一个答案中使用延迟有点拼凑,而且可能不完全可靠。

In 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;
}

最新更新