【问题标题】:iOS7 Xcode utility app - UINavigationBar on Flipsideviewcontroller not spaced properly?iOS7 Xcode 实用程序 - Flipsideviewcontroller 上的 UINavigationBar 间距不正确?
【发布时间】:2014-03-06 17:35:14
【问题描述】:

我有这个问题,作为标准,flipsideviewcontroller UINavigationBar 看起来像这样:

有人对如何将 UINavigationBar 向下移动或停止丑陋有任何想法吗?

【问题讨论】:

  • 我不知道是不是只有我,但图像没有显示。
  • 抱歉 - 图片现在可以使用了。

标签: xcode ios7 uinavigationbar


【解决方案1】:

这很棘手。 :) 您需要为 UINavigationBar 设置一个委托 - 这可能是 FlipsideViewController。您可以在故事板或代码中执行此操作 - 例如,如果您有导航栏的出口:

-(void)viewDidLoad {
    [super viewDidLoad];
    self.navigationBar.delegate = self;
}

现在是重要的部分:在委托中实现这个方法:

- (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar {
    return UIBarPositionTopAttached;
}

对于自动布局,导航栏顶部对顶部布局指南的约束为零也很重要。这并不完全容易设置,因为 Xcode 中有一个错误会尝试将其变成导航栏 bottom 的不良约束。如果发生这种情况:

  • 删除顶部约束。

  • 将导航栏移到屏幕下方。

  • 按住 Control 并拖动以再次形成顶部布局指南的顶部约束。

  • 现在选择顶部约束并手动将其常量设置为 0,以使导航栏再次向上移动。

【讨论】:

  • 刚才试过了,一点改善都没有。这真的很奇怪,因为它在构建 iOS 6 应用程序时从来没有这样的行为。
  • @LyconalBest 正如我所说,这很棘手。我概述的任何步骤都可能出错,然后就行不通了。但这是可以完成的。把项目放到github上,我会尽力为你修复。
猜你喜欢
  • 2014-08-09
  • 1970-01-01
  • 1970-01-01
  • 2014-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多