导航栏在横向模式下向上移动 - iOS

Posted

技术标签:

【中文标题】导航栏在横向模式下向上移动 - iOS【英文标题】:Navigation bar shifts up in the landscape mode - iOS 【发布时间】:2017-05-26 07:05:46 【问题描述】:

肖像

风景

iPhone 横向模式下的导航栏向上移动了一半的高度,而在纵向模式下,它看起来很好。

请帮忙。

【问题讨论】:

能否请您添加一些屏幕截图(如果您的代表太低,请添加图片链接)? 附上纵向和横向截图。 在横向模式下它变小是导航栏的自然行为。显示您的代码如何添加注销按钮! 您需要告诉我们更多关于您的项目结构的信息,是主视图中带有 UINavigationVC 的 UISplitController 还是那个栏是 uitoolbar? 是的,它是主视图中带有 UINavigationVC 的 UISplitController。 【参考方案1】:

在您的viewDidload 中,您应该设置注销按钮和标题,

UIBarButtonItem *barButton = [[UIBarButtonItem alloc]initWithTitle:@"Log out" style:UIBarButtonItemStylePlain target:nil action:nil];

self.navigationItem.rightBarButtonItem = barButton;

self.title = @"PROFILE";

它在纵向和横向模式下都可以正常工作!

输出:

肖像

风景

【讨论】:

我的代码和你发布的一样。我遇到了同样的问题。 barButtonItem = UIBarButtonItem(title: "Log Out", style: .Plain, target: self, action: #selector(AccountsViewController.logOutAction(_:))) self.navigationItem.rightBarButtonItem = barButtonItem self .navigationItem.rightBarButtonItem?.tintColor = UIColor.en_plusColor() self.navigationItem.rightBarButtonItem?.setTitleTextAttributes([NSFontAttributeName : UIFont.en_Logout()], forState: UIControlState.Normal)

以上是关于导航栏在横向模式下向上移动 - iOS的主要内容,如果未能解决你的问题,请参考以下文章

UINavigationController 导航栏在横向模式下不会缩小

隐藏导航栏将视图“向上”移动

iOS:使导航栏在 UITableViewController 中始终可见

iOS 7 - 在横向模式下设置导航栏的背景

底部应用栏在使用片段导航时向上/向下滑动(导航架构组件)

移动开发中导航栏和搜索栏在设计中应该注意哪些问题?