我有一个 UINavigationController 和 UINavigationBar 我有一个按钮。当我按下这个按钮时,一个新的 UINavigationController 以模式呈现为 UIModalPresentationFormSheet。这行得通。
但我认识到 FormSheet 的呈现非常耗时。我在 action 方法中放了两个日志(“start”和“finish”,见下面的代码),一个在第一行,一个在最后一行。日志时间告诉我,运行此代码大约需要 1.5 到 2 秒。
这就是从 UINavigationItem 调用的 Action 方法:
- (IBAction)addBtnPressed:(id)sender{
NSLog(@"start");
FooViewController *fooContr = [[FooViewController alloc] init];
fooContr.delegate = self;
UINavigationController *navContr = [[UINavigationController alloc] initWithRootViewController:fooContr];
[fooContr release];
navContr.modalPresentationStyle = UIModalPresentationFormSheet;
[self.navigationController presentModalViewController:navContr animated:YES];
[navContr release];
NSLog(@"finish");
}
好像这条线
[self.navigationController presentModalViewController:navContr animated:YES];
需要 90% 的时间。
有谁知道这里发生了什么以及如何优化它?