我如何在启动时呈现MomadViewController?

时间:2012-06-25 19:33:23

标签: ios

如果存在某些条件,我想在启动时提供模态视图控制器 first 。我使用以下代码:

[self presentModalViewController:vc animated:NO];

此代码显示来自 viewDidAppear 的模态视图控制器,但是,它不适用于 viewWillAppear viewDidLoad 。将代码置于 viewDidAppear 中的问题是它在加载模态视图之前会闪烁父视图。

2 个答案:

答案 0 :(得分:1)

我建议您在应用启动时立即执行此操作,但仅当您需要一次时才会这样做。

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];  
    if (![defaults objectForKey:@"firstLaunch"]){
        [self performSelector:@selector(yourModalView) withObject:nil afterDelay:0.2];
        [defaults setObject:[NSDate date] forKey:@"firstLaunch"];

    }          

    [[NSUserDefaults standardUserDefaults] synchronize];

如果你需要在每次启动时都提供一些viewController,请使用bdev代码。

答案 1 :(得分:0)

我只是在viewDidLoad中稍微延迟:

[self performSelector:@selector(presentVC) withObject:nil afterDelay:1.0];

并采用该方法

-(void) presentVC{
     [self presentModalViewController:vc animated:NO];
}