1

如果存在某些条件,我想在启动时首先展示一个模态视图控制器。我正在使用以下代码:

[self presentModalViewController:vc animated:NO];

此代码从viewDidAppear显示模态视图控制器,但是,它在viewWillAppearviewDidLoad中不起作用。将代码放入viewDidAppear的问题在于它会在加载模式视图之前闪烁父视图。

4

2 回答 2

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 代码。

于 2012-06-25T19:53:00.047 回答
0

我只会在您的 viewDidLoad 中造成一点延迟:

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

在那种方法中

-(void) presentVC{
     [self presentModalViewController:vc animated:NO];
}
于 2012-06-25T19:50:20.903 回答