presentModalViewController直到稍后才会触发

时间:2012-05-04 11:31:26

标签: objective-c ios xcode cocoa-touch

我在初始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时,我的工作正常,但是我已经删除了它,因为它不需要。

1 个答案:

答案 0 :(得分:2)

将代码从viewWillAppear移至viewDidAppear - 您会遇到延迟(通常会出现wait_fences错误),因为您尝试在当前视图出现之前呈现模态视图控制器(所以它会尝试同时呈现两个视图控制器)