2

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

4

1 回答 1

2

将该代码从 移动viewWillAppearviewDidAppear- 您会遇到延迟(通常是wait_fences错误),因为您试图在当前视图出现之前呈现模式视图控制器(因此它会尝试同时呈现两个视图控制器)

于 2012-05-04T12:49:33.053 回答