Bhu*_*esh 7 iphone objective-c uitabbarcontroller orientation ios
我有一个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];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
647 次 |
| 最近记录: |