应用程序首次运行时加载所有标签栏视图
Posted
技术标签:
【中文标题】应用程序首次运行时加载所有标签栏视图【英文标题】:Load all tab bar views when application first runs 【发布时间】:2011-01-07 00:51:21 【问题描述】:我有一个带有 4 个独立视图的标签栏控制器。当我从第一个视图导航到第二个视图时,加载第二个视图需要一些时间。
我想要做的是,能够在启动画面期间加载和初始化我的所有标签栏视图。这样,当用户在选项卡视图之间导航时,没有等待时间。
如何在我的应用委托中手动初始化我的个人标签栏视图?
【问题讨论】:
什么是需要加载到各种视图中的?我认为您在启动画面期间不会获得太多处理器时间,如果这样做,您的加载不会延长启动画面吗? Load All TabBar Views的可能重复 这个可能会有所帮助...有点过时,但 swift 3 的一些更新 - ***.com/questions/9202737/load-all-tabbar-views 【参考方案1】:以编程方式加载选项卡视图,例如在application:didFinishLaunchingWithOptions:
你可以:
// load the third one, for instance
thirdNavController = [tabBarController.viewControllers objectAtIndex:2];
[thirdNavController.topViewController loadView];
【讨论】:
Documentation 声明“你不应该直接调用 [loadView]”。但是,根据this answer,“如果您访问 [视图属性] 并且其值当前为 nil,则视图控制器会自动调用 loadView 方法”。【参考方案2】:我认为访问每个控制器的视图属性会导致它被加载(延迟加载)。虽然我不认为你可以绝对保证它在内存紧张的情况下不会在你使用它之前被卸载。
【讨论】:
以上是关于应用程序首次运行时加载所有标签栏视图的主要内容,如果未能解决你的问题,请参考以下文章