UITabBarController的viewControllers,第二个在第一个之前加载

时间:2016-10-19 08:09:16

标签: ios objective-c uitabbarcontroller

我正在使用App,其rootViewController为UITabBarController。我使用NewsViewController(index = 0),MusicViewController(index = 1)和WeatherViewController(index = 2)分配了UITabBarController's viewController

此应用似乎正常工作。但是,当App启动时,我注意到在NewsViewController的viewDidLoad,viewWillAppear和viewDidAppear方法之前调用了MusicViewController的viewDidLoad方法。从我的角度来看,只应该调用NewsViewController的生命周期方法。

我无法理解为什么在启动应用程序时会调用MusicViewController(index = 1)的viewDidLoad方法。

感谢您的任何信息。

2 个答案:

答案 0 :(得分:0)

当您使用UITabBarViewController时请记住:

第一件事就是加载UITabBarViewController,然后它将从你所在的位置加载前3个视图控制器。

例如,如果您在索引0中,它将加载索引0,1,2中的视图控制器。

然后当你转到索引1时,它将加载1,2,3中的视图控制器,依此类推。

UITabBarViewController现在如何与你合作是它的正常行为。

希望这个答案是你的问题。

答案 1 :(得分:0)

也许是因为您已将音乐视图设置为初始视图控制器,请尝试以下操作: -

选择了新闻视图控制器: -

enter image description here

使新闻查看初始视图控制器: -

enter image description here