我正在创建Tabbar应用程序,它有4个选项卡,我的FirstTabView应支持所有方向,所有3个tabViews应仅支持portrait,当我将tab更改为SecondTabView时,它应强制将方向更改为portrait这是可能的故事板我在FirstTabView.m下面使用了以下代码
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return(interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
和SecondTabView.m
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return(interfaceOrientation == UIInterfaceOrientationPortrait);
}
提前感谢它不允许任何标签视图支持横向。
答案 0 :(得分:1)
在iOS 5或更早版本中,每个相应标签的viewController必须从shouldAutorotateToInterfaceOrientation返回YES,以便tabBarController自动旋转,而不仅仅是当前可见的自动旋转。
答案 1 :(得分:0)
是肯定的。故事板可以实现。为此,您需要检查选择了哪个选项卡。您可以使用
进行检查- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;
在那里应用你想要方向的第一个viewcontroller的条件。在那里设置方向或将其应用于单独的视图控制器中。
享受编程。
答案 2 :(得分:0)
如果您在iOS6上遇到此问题在iOS6中,Apple已经改变了管理设备方向的方式。在其文档中引入了许多新方法。其文档中所做的更改之一是
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
苹果已经在iOS6版本中弃用了这个方法。所以将来可以从apple doc中删除这个方法。如果你想管理设备方向,那么你应该实现iOS6中引入的新方法。你应该看看在iOS6版本中完成的更改。
link
我发布了一些你可以试用的代码。它很容易实现。
我认为它可能对你有所帮助。