【问题标题】:iOS 6 and 7 UINavigationBar SpacingiOS 6 和 7 UINavigationBar 间距
【发布时间】:2013-09-20 15:30:32
【问题描述】:

我们正在着手对我们的应用程序进行重大重写,以同时支持 iOS 6 和 iOS 7 的用户界面。我们应用程序的初始屏幕具有一个带有UINavigationBar 的模态视图控制器,该控制器出现并允许用户使用Google (OAuth) 登录。我正在使用 Xcode 5 创建两个版本(使用“文件检查器”选项卡),并且出于可维护性的原因,我使用 xibs 来支持 Storyboard - 版本 1 使用了故事板,随着我们的应用程序的增长,一段时间后很难导航规模和范围。

在 Xcode 5 中:

iOS 6:

iOS 7:

并且,当我运行应用程序时,iOS 6 版本显示正确(因为状态栏仍然不同,并且时钟和导航栏之间的间距正确):

但请注意,在 iOS 7 版本中,由于不再有单独的“状态栏”,我的 UINavigatonBar 的标题文本太接近时钟了:

到目前为止,每个人都如何协调这一点?我注意到 Facebook 和 Twitter 等应用程序已经升级并使用“扩展”(不确定这是否是正确的术语)导航栏来弥补视图和状态栏之间缺乏区别:

他们是如何做到这一点的?我在 Apple 的 iOS 7 UI 转换指南中看不到任何具体解决此问题的内容,因此我们将不胜感激,而且我相信许多其他人也会遇到这个问题,所以希望这对他们也有帮助。谢谢!

【问题讨论】:

    标签: ios uinavigationbar xib ios7 spacing


    【解决方案1】:

    快速回答:

    使用 UINavigationController!这将解决您的问题。 如果不能,请使用自动布局!

    【讨论】:

      【解决方案2】:
      UINavigationBar *aNavigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 44.0)];
      aNavigationBar.barStyle = UIBarStyleBlackOpaque;
      self.flipsideNavigationBar = aNavigationBar;
      [aNavigationBar release];
      
      UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(toggleView)];
      UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:@"Taschenlampe"];
      navigationItem.rightBarButtonItem = buttonItem;
      [flipsideNavigationBar pushNavigationItem:navigationItem animated:NO];
      [navigationItem release];
      [buttonItem release];
      
      
      - (IBAction) toggleView {
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-28
        • 1970-01-01
        • 1970-01-01
        • 2014-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多