gpt4 book ai didi

ios - Objective-C 中应用程序的切换屏幕和转换屏幕

转载 作者:行者123 更新时间:2023-11-29 03:39:09 24 4
gpt4 key购买 nike

这是一个由两部分组成的问题。第一个问题:

所以我有一个使用 nib 文件从一个屏幕转换到另一个屏幕的应用程序。这是我用来切换屏幕的代码:

self.transitionView = [[TransitionViewController alloc] initWithNibName:@"TransitionViewController" bundle:nil];

[self.view addSubview: self.transitionView.view];

我的问题是我在 viewdidload 方法中有大约 30 - 40 行代码,可以想象,这些代码可能会稍微减慢转换速度,因为某些代码使用 NSURL 读取数据,但之间需要 2 - 3 秒的等待当它进入 viewDidLoad 方法以及 View 实际完成加载时。 [super viewdidload] 行也位于所有这些的最顶部,这是最令人困惑的部分。那么为什么我的程序需要 2 - 3 秒才能加载?考虑到我的代码很少,我认为这需要相当长的时间。

问题的第 2 部分是我想创建一个过渡屏幕,在实际屏幕加载之前显示 2 - 3 秒。我已经取出该代码,由于某种原因,我的 nib 文件仍然需要永远加载,所以我知道它与此无关,但转换屏幕需要在屏幕 2 之前弹出 3 秒,即使应用程序正在打开10分钟后。我知道 appdelegate 中有一个函数可以帮助完成这项工作,但我不知道代码应该是什么样子。它似乎没有切换

self.transitionView = [[TransitionViewController alloc] initWithNibName:@"TransitionViewController" bundle:nil];

[self.view addSubview: self.transitionView.view];
除此之外,我不知道如何构建代码来以这种方式在屏幕之间切换。有人可以给我任何文章或建议吗?

编辑

我还尝试将 viewdidload 方法中的 NSURL 数据与方法本身分开。我将其全部放入名为“初始化”的方法中,并在调用第二个 View 后立即从屏幕 1 调用它。它根本没有帮助切换时间。我这样做的原因是因为我不想在用户打开应用程序时再次接收所有 nsurl 数据。我只是希望他们能取回一次并完成它。我在这里做错了什么吗?这非常令人沮丧

最佳答案

您不应该将过渡效果放在 viewdidload 中,您应该将它们放在 viewdidappear 或 viewwillappear 中,这是 Controller 加载后将采取的下一步。这是你最好的选择,至于屏幕要把它放在那里,你需要使用 nib 文件或在 viewdidload 中加载它。我希望这对您有帮助

关于ios - Objective-C 中应用程序的切换屏幕和转换屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18700025/

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