我添加了自定义标签栏。标签包含更多标签。
我的第一个标签仅支持纵向模式。 第二个选项卡具有所有方向。
选择第二个选项卡并将其保持为横向模式然后在横向模式下选择第一个选项卡时会出现问题。那时,第一个标签视图干净地旋转,但标签栏保持横向模式。
我如何克服这种情况? 这是自定义标签栏控制器中的应该旋转方法
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if (self.selectedIndex == 0) {
return [self.selectedViewController shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationPortrait];
} else if (self.selectedIndex == 1) {
return YES;
}
return NO;}
这是导航控制器的第一和第二视图控制器中的旋转方法
第一
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait);}
第二
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;}
答案 0 :(得分:3)
在自动旋转到界面方向时,您需要重新绘制tabBar,只需将其从self.window
中删除并再次添加。
[navigationController_.view removeFromSuperview];
[self.window addSubview:navigationController_.view];
编辑:您需要在重绘之前为每个方向设置正确的帧。