如果存在某些条件,我想在启动时提供模态视图控制器 first 。我使用以下代码:
[self presentModalViewController:vc animated:NO];
此代码显示来自 viewDidAppear 的模态视图控制器,但是,它不适用于 viewWillAppear 或 viewDidLoad 。将代码置于 viewDidAppear 中的问题是它在加载模态视图之前会闪烁父视图。
答案 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];
}