我有一个基于选项卡栏的应用程序。所有5个选项卡中都有导航控制器,其根视图控制器实例是自定义视图控制器并已正确设置。这可以正常加载。其中几个视图控制器包含表格视图。当用户在表格视图中选择一行时,我想向用户显示模态视图控制器。 (相关部分的)didSelectRowAtIndexPath委托方法如下所示:
SampleSelectorViewController *sampleVC = [[SampleSelectorViewController alloc] init];
[self presentViewController:sampleVC animated:YES completion:NULL];
模态视图控制器出现,但是出现的延迟非常明显。有时甚至需要用户第二次点击行才会出现。我已经验证过的几件事情是:
- 当用户点击行时,表视图的didSelectRowAtIndexPath方法被调用
- didSelectRowAtIndexPath方法不包含任何阻塞调用。没有进行任何网络操作,模态视图控制器的设置也不涉及任何处理密集型任务。它显示的数据是静态的。
- 如果我将新的视图控制器推入导航堆栈中(其他所有内容保持完全相同),它就可以完美地工作,没有任何延迟。只有在以模态方式呈现时才会遇到延迟。
有什么想法/建议吗?
animated:NO
会同样慢吗? - pbasdf