【问题标题】:tab bar on iPhone, but not on iPadiPhone 上的标签栏,但 iPad 上没有
【发布时间】:2016-11-23 23:53:41
【问题描述】:

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

我一直在尝试使用 size 类,但没有成功。

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

我应该如何做到这一点?

【问题讨论】:

    标签: ios iphone ipad autolayout size-classes


    【解决方案1】:

    在特定 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。用语言标记您的问题会很有用。自动布局标签无关紧要,因为这与自动布局无关

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 2011-11-15
      • 2018-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多