用于iphone故事板的TabBar应用程序中的方向支持

时间:2012-10-18 06:23:10

标签: iphone ios5 xcode4

我正在创建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);
}

提前感谢它不允许任何标签视图支持横向。

3 个答案:

答案 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

我发布了一些你可以试用的代码。它很容易实现。

Please go through this Link

我认为它可能对你有所帮助。