UITabBarController和UINavigation Controller的iOS8旋转问题

UITabBarController和UINavigation Controller的iOS8旋转问题,第1张

概述iOS8有一个问题. 这里我有我的视图层次结构. 窗口==> UITabBarController ==> 2标签 标签1 ==> UINavigationController1 ==> UIViewController1作为根视图控制器 标签2 ==> UINavigationController2 ==> UIViewController2作为根视图控制器 现在一切都很完美,只有一个方向. 但 iOS8有一个问题.

这里我有我的视图层次结构.

窗口==> UITabbarController ==> 2标签
标签1 ==> UINavigationController1 ==> UIVIEwController1作为根视图控制器
标签2 ==> UINavigationController2 ==> UIVIEwController2作为根视图控制器

现在一切都很完美,只有一个方向.

但问题在于此测试步骤:

>将日志放入VIEwController的vIEwDIDLoad方法中以跟踪事件
>启动应用
> FirstVIEwController的vIEwDIDLoad将调用.现在只留在这个视图上.
>旋转到风景.
>这是神奇的部分.调用了SecordVIEwController的vIEwDIDLoad方法,该方法尚未被Tab2激活,然后它还加载了vIEwDIDLoad.

此问题仅适用于iOS8.
测试所有设备.

解决方法 我有同样的问题.我注意到在iOS8上,当设备的方向发生变化时
vIEwWillTransitionToSize:withTransitionCoordinator:在UITabbarController上调用,UITabbarController调用尚未加载的任何vIEwcontroller的vIEwDIDLoad方法.

现在,在我的UITabbarController子类中,我重写此方法以不调用[super vIEwWillTransitionToSize:size withTransitionCoordinator:coordinator].

- (voID)vIEwWillTransitionToSize:(CGSize)size withTransitionCoordinator:(ID<UIVIEwControllerTransitionCoordinator>)coordinator{    //Do not call [super vIEwWillTransitionToSize:size withTransitionCoordinator:coordinator];    NSLog(@"Device orinetation changed");}
总结

以上是内存溢出为你收集整理的UITabBarController和UINavigation Controller的iOS8旋转问题全部内容,希望文章能够帮你解决UITabBarController和UINavigation Controller的iOS8旋转问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1097850.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存