【问题标题】:Load all view controllers at the launch在启动时加载所有视图控制器
【发布时间】:2011-11-01 19:19:07
【问题描述】:
我创建了一个 iPad 应用程序,它有 10 个视图控制器,它们可以左右滑动,每个控制器都有 2-10 个页面用于垂直 UIScrollView。问题只是在启动时加载了第一个控制器,因此每次滑动最初需要 10 秒才能加载。在初始滑动之后,我可以轻松地来回滑动,但我宁愿在开始时拥有所有加载时间,这样用户就不会想知道发生了什么。
有没有办法一次加载所有内容?
我什至应该为此使用 UIViewController 子类吗?
谢谢!
【问题讨论】:
标签:
ipad
xcode4
uigesturerecognizer
swipe
【解决方案1】:
您可以在应用程序委托中分配和初始化它们(我认为这些都在 applicationDidFinishLaunching 方法中,但我不在我的计算机上验证这是最好的地方)。您可能希望将其 isHidden 属性设置为 YES(您要首先显示的除外)。
一旦以这种方式加载,应用程序视图控制器可用于在您希望显示或隐藏视图时更改隐藏属性。
如果每个视图的加载时间确实为 10 秒,则应用程序启动时的初始加载时间将是 10 秒乘以正在加载的视图数。但是一旦它们被加载,你就不应该再有这种延迟了。
更新:
如果你想动画从一个视图到另一个视图的过渡,你将不得不使用更多的 isHidden 属性(不能动画)。但是您可以稍后再处理它,并且仍然可以像我上面描述的那样通过分配和初始化来开始。