gpt4 book ai didi

iphone - presentModalViewController 耗时操作

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:49 25 4
gpt4 key购买 nike

我有一个 UINavigationController,在 UINavigationBar 上有一个按钮。当我按下这个按钮时,一个新的 UINavigationController 以模态方式呈现为 UIModalPresentationFormSheet。这行得通。

但我认识到 FormSheet 的呈现非常耗时。我在操作方法中放置了两个日志(“开始”和“完成”,请参见下面的代码),一个在第一行,一个在最后一行。日志时间告诉我,运行这段代码大约需要 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% 的时间。

有人知道这里发生了什么以及如何优化它吗?

最佳答案

使用 FooViewController 预加载 UINavigationController,因此当您显示它时它已经在内存中。

FooViewController 实例的 View 加载可能花费了这么多时间。

你可以通过对它做一些事情来让它加载。喜欢

UIView *view = fooContr.view;

您应该在显示模态视图 Controller 的按钮被单击之前执行此操作。否则它可能会产生同样的效果。

关于iphone - presentModalViewController 耗时操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10847318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com