在iOS 8中,Tabbar的viewcontroller在更改方向时会重新加载

我有一个UITabBarController,它有几个标签.当我改变应用程序的方向时,在iOS 8中,所有它的viewController的viewDidLoad都会被调用.当我在iOS 7中运行应用程序时,这不会发生.

iOS 8的任何新功能是否会在方向更改时重新加载UITabBarController?
如果是这样我怎么能阻止我的Tabbar重新加载它的视图控制器.

解决方法

Parul Garg是正确的,我遇到了同样的问题.

请注意,启用viewWillTransitionToSize后,您需要手动调用方向更改方法.

每个方向更改方法调用,调用方法和tabbar类中的方法.

解决方案是使用手动调用,如下所示:

-(void) viewWillTransitionToSize:(CGSize)sizewithTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
 //[super viewWillTransitionToSize:sizewithTransitionCoordinator:coordinator];
   UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
   UIInterfaceOrientation toInterfaceOrientation = orientation;    
   if ([self.selectedViewController isKindOfClass:[UINavigationController class]]) {
        UINavigationController *navCtrl = (UINavigationController*)self.selectedViewController;
        UIViewController* NavSubController = [[navCtrl viewControllers] lastObject];
        [NavSubController willRotatetoInterfaceOrientation:toInterfaceOrientation duration:0.0];
   }
}

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...