我在初始View Controller的viewWillAppear中有这段代码
if (howManyLeft == 0) {
NSLog(@"HERE");
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
DayCompleteViewController *dayComplete = (DayCompleteViewController *)[storyboard instantiateViewControllerWithIdentifier:@"dayComplete"];
dayComplete.delegate = self;
[self presentModalViewController:dayComplete animated:YES];
}
NSLog正确触发,但第二个视图不会立即显示。 如果稍后单击显示弹出视图的tableview单元格,然后关闭弹出视图,则会显示模态视图,即使没有其他代码可以显示模态视图。
为什么在发布时不立即显示它而不是等待某些事情先发生?
当我有一个NavigationController和segue时,我的工作正常,但是我已经删除了它,因为它不需要。
答案 0 :(得分:2)
将代码从viewWillAppear
移至viewDidAppear
- 您会遇到延迟(通常会出现wait_fences
错误),因为您尝试在当前视图出现之前呈现模态视图控制器(所以它会尝试同时呈现两个视图控制器)