如果存在某些条件,我想在启动时首先展示一个模态视图控制器。我正在使用以下代码:
[self presentModalViewController:vc animated:NO];
此代码从viewDidAppear显示模态视图控制器,但是,它在viewWillAppear或viewDidLoad中不起作用。将代码放入viewDidAppear的问题在于它会在加载模式视图之前闪烁父视图。
如果存在某些条件,我想在启动时首先展示一个模态视图控制器。我正在使用以下代码:
[self presentModalViewController:vc animated:NO];
此代码从viewDidAppear显示模态视图控制器,但是,它在viewWillAppear或viewDidLoad中不起作用。将代码放入viewDidAppear的问题在于它会在加载模式视图之前闪烁父视图。
我建议您在应用程序启动后立即执行此操作,但前提是您只需要执行一次。
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 代码。
我只会在您的 viewDidLoad 中造成一点延迟:
[self performSelector:@selector(presentVC) withObject:nil afterDelay:1.0];
在那种方法中
-(void) presentVC{
[self presentModalViewController:vc animated:NO];
}