7

我有一个基于标签栏的应用程序,带有 3 个标签(视图)。在应用程序委托或加载的第一个选项卡中,我将如何在后台加载其他 2 个视图的全部内容?

现在我在每个有问题的视图中都有一个 webView。我的部分问题是它们被加载到 viewDidLoad 但导致等待空白屏幕

谢谢

4

3 回答 3

9

答案对我来说不是那么清楚.. 所以我有 3 个UIViewController(或它们的子类)包含在一个UITabBarViewController中,强制它们加载视图的方法是-view在添加到之前调用 AppDelegate 中每个丰富的属性UITabbarViewController 实例。像这样的东西:

UIViewController * myViewController = [[UIViewController alloc] initWithNibName:@"mynib" bundle:nil];
[myViewController view];//<--here you are forcing the view to be loaded before it will be called from the tabbatviewcontroller

这是一种避免(根本不是)您正在经历的行为的方法......在后台加载的概念要复杂得多。

于 2012-07-08T13:25:16.323 回答
7

尝试:

viewController.view.hidden = NO; 

对于您想要预加载的任何 viewController,它已经分配并初始化了 beeb。也就是说,在 alloc 和 initWithNibName:... 完成之后。

于 2012-07-08T09:21:40.003 回答
4

我通常使用这样的东西:

if (vc.view == nil)      // force load of view
{
    NSLog(@"%s ***** ERROR: view == nil: %@", __PRETTY_FUNCTION__, vc);
}

注意:在调用 vc.view 之后,视图永远不应该为零——这是一个非常严重的分配错误。

于 2014-11-06T01:58:40.297 回答