iOS7 Xcode实用程序应用程序 - Flipsideviewcontroller上的UINavigationBar没有正确间隔?

时间:2014-03-06 17:35:15

标签: xcode ios7 uinavigationbar

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

Weird Layout

任何人对如何移动UINavigationBar或者阻止它们的丑陋有任何想法?

1 个答案:

答案 0 :(得分:1)

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

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

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

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

使用自动布局时,导航栏的顶部对“顶部布局指南”具有零常量约束也很重要。这并不容易设置,因为Xcode中存在一个错误,它会尝试将其转换为导航栏的 bottom 中的错误约束。如果发生这种情况:

  • 删除顶部约束。

  • 将导航栏向下移动到屏幕上。

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

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