我正在开发一款通用应用。 整体设计是在iPhone上有标签栏,但不在iPad上。
我一直在尝试使用尺寸等级,但没有找到运气。
一些示例应用程序是MLB At bat和EBates,它们在iPhone版本上有标签栏,但在iPad版本上没有。
我该如何实现这个目标?
答案 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
无关