iPhone上的标签栏,但不在iPad上

时间:2016-07-20 16:53:10

标签: ios iphone ipad autolayout size-classes

我正在开发一款通用应用。 整体设计是在iPhone上有标签栏,但不在iPad上。

我一直在尝试使用尺寸等级,但没有找到运气。

一些示例应用程序是MLB At bat和EBates,它们在iPhone版本上有标签栏,但在iPad版本上没有。

我该如何实现这个目标?

1 个答案:

答案 0 :(得分:0)

隐藏特定iPad视图中的标签栏。在您的viewdidload方法中。

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {

        self.tabBarController.tabBar.hidden=YES; 

    }

如果您有许多或需要此行为的控制器混合,您可以创建一个UIViewController的自定义类并将此方法放入其中。您没有提到您需要的具体行为

在您的导航控制器中(如果您正在创建一个)使用myController.hidesBottomBarWhenPushed = YES。例如,如果你在AppDelegate中创建一个,它会隐藏navigationController层次结构中的标签栏(任何视图,除非你在你的应用中使用另一个navigationController

MyController *myController = [[MyController alloc]init];

// Hide tab bar for all app 
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    myController.hidesBottomBarWhenPushed = YES; 
  }

[self.navigationController pushViewController:myController animated:YES];

如果您使用界面构建器来实现相同的行为,您可以始终将navigationController子类化以实现相同的目标

您尚未说明使用Objective C或swift的语言。用语言标记您的问题会很有用。自动布局标签无关紧要,因为这与autolayout

无关