这是一个两部分的问题。第一个问题:
所以我有一个使用 nib 文件从一个屏幕转换到另一个屏幕的应用程序。这是我用来切换屏幕的代码:
self.transitionView = [[TransitionViewController alloc] initWithNibName:@"TransitionViewController" bundle:nil];
[self.view addSubview: self.transitionView.view];
我的问题是我在 viewdidload 方法中有大约 30 - 40 行代码,可以想象这可能会稍微减慢转换速度,因为一些代码使用 NSURL 来读取数据,但它在进入时需要等待 2 - 3 秒viewdidload 方法以及视图实际完成加载的时间。这条线[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 数据与方法本身分开。我把它全部放在一个名为initialize的方法中,并在调用第二个视图后立即从屏幕1调用它。它根本没有帮助切换时间。我这样做的原因是因为我不想在该人打开应用程序时再次接收所有 nsurl 数据。我只希望他们一次检索它并完成它。我在这里做错了吗?这非常令人沮丧