【问题标题】:Load all tab bar views when application first runs应用程序首次运行时加载所有标签栏视图
【发布时间】:2011-01-07 00:51:21
【问题描述】:

我有一个带有 4 个独立视图的标签栏控制器。当我从第一个视图导航到第二个视图时,加载第二个视图需要一些时间。

我想要做的是,能够在启动画面期间加载和初始化我的所有标签栏视图。这样,当用户在选项卡视图之间导航时,没有等待时间。

如何在我的应用委托中手动初始化我的个人标签栏视图?

【问题讨论】:

标签: iphone view uitabbarcontroller instantiation preload


【解决方案1】:

以编程方式加载选项卡视图,例如在application:didFinishLaunchingWithOptions: 你可以:

// load the third one, for instance
thirdNavController = [tabBarController.viewControllers objectAtIndex:2];
[thirdNavController.topViewController loadView];

【讨论】:

  • Documentation 声明“你不应该直接调用 [loadView]”。但是,根据this answer,“如果您访问 [视图属性] 并且其值当前为 nil,则视图控制器会自动调用 loadView 方法”。
【解决方案2】:

我认为访问每个控制器的视图属性会导致它被加载(延迟加载)。虽然我不认为你可以绝对保证它在内存紧张的情况下不会在你使用它之前被卸载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多