我在视图中遇到自动旋转问题,这是在UINavitionViewController内部,而navigationViewcontroller在tabBarViewController中。
我将tabBarViewController子类化。问题是interfaceorientation在tabViewController内的第一个视图上运行正常,但每当我推送到另一个视图时它都不起作用。
这是子类tabBarController
中的代码- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
if([self.selectedViewController isKindOfClass:[UINavigationController class]]){
return [[(UINavigationController*)self.selectedViewController visibleViewController] shouldAutorotateToInterfaceOrientation:interfaceOrientation];
} else {
return [self.selectedViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}
}
答案 0 :(得分:0)
您必须覆盖标签栏中所有视图的视图控制器中的shouldAutorotateToInterfaceOrientation :.
如果视图控制器的shouldAutorotateToInterfaceOrientation:返回NO,那么即使视图在旋转时隐藏,标签栏也不会旋转。
答案 1 :(得分:0)
UIViewController
内的UINavigationController
内应该有UITabBarController
。轮播由shouldAutorotateToInterfaceOrientation:
中的UIViewController
决定。您需要为每个UIViewController
覆盖该方法以返回所需的值,例如,YES
如果您希望它旋转,NO
如果您不想要它。
您不应覆盖shouldAutorotateToInterfaceOrientation:
或UINavigationController
中的UITabBarController
。