我正在为iPhone和iPad开发具有单独视图的多设备应用程序。在我的应用程序中,我使用带有四个内容标签的UITabBarController作为mainView。
第一个选项卡包含一个UINavigationController,第二个选项卡包含一个UIViewController。第三个选项卡与第一个选项卡类似,但具有其他NIB和类文件。第四个选项卡与第二个选项卡相似,但包含其他内容。UITabBarController在应用程序启动时加载两个选项卡
在每一个viewDidLoad方法中,我写了一些东西,像“[currentview]被加载”一样,并且currentview被替换为加载的视图的标识名称。
如果我在iPhone上启动我的应用程序,然后控制台显示我没有任何用户交互,第一个选项卡和第三个选项卡(都是UINavigationController)都加载了。详细地说,第三个标签在第一个标签之前加载。
如果我在iPad中启动我的应用程序,那么只有第一个选项卡会像它应该加载一样。除了实现针对iPad的NIB文件,我在我的应用程序开始时使用相同的源代码。
在AppDelegate_iPhone.m中,我只将UITabBarController.view作为子视图添加到窗口中。在AppDelegate_iPad.m中完成相同的过程
我已经对此进行了搜索并发现调用controllers.view导致加载视图,但编程方式我既不调用第一个选项卡的视图也不调用第三个选项卡。这是由UITabBarController以他自然的方式完成的(没有改变这个控制器的任何东西)。所以我有点困惑为什么我的应用程序加载iPhone上的第三个标签。由于这个问题,我不得不删除一些在第三个标签的viewDidLoad中完成的代码,因为这个代码只有在标签几乎要显示的时候才起作用。
我希望任何人都有同样的问题,并可以告诉我一个解决方案或提示。