草庐IT

objective-c - presentModalViewController 直到稍后才触发

coder 2024-01-21 原文

我在初始 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 正确触发,但第二个 View 不会立即显示。 如果您稍后单击显示弹出 View 的 tableview 单元格,然后关闭弹出 View ,即使没有其他代码显示模态视图,也会显示模态视图。

为什么它不在启动时立即显示,而是等待某些事情先发生?

当我有一个 NavigationController 和 segue 时,我的这个工作正常,但是我已经删除了它,因为它不需要。

最佳答案

将该代码从 viewWillAppear 移至 viewDidAppear - 您会遇到延迟(通常是 wait_fences 错误),因为您正在尝试呈现模态当前 View 出现之前的 View Controller (因此它会尝试同时呈现两个 View Controller )

关于objective-c - presentModalViewController 直到稍后才触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10447990/

有关objective-c - presentModalViewController 直到稍后才触发的更多相关文章

随机推荐