导航栏标题视图与左栏按钮项重叠
Posted
技术标签:
【中文标题】导航栏标题视图与左栏按钮项重叠【英文标题】:Navigation Bar Title View Overlaps Left Bar Button Item 【发布时间】:2016-11-27 12:22:24 【问题描述】:我有一个自定义左栏按钮项、一个自定义标题视图和一个自定义右栏按钮项。它们都是固定空间项,在故事板中定义了 rightBarButton 视图,在代码中定义了 left 和 title 视图。它们被添加到导航栏中,如下所示:
let leftButton = UIBarButtonItem()
leftButton.customView = myLeftBarView
navigationItem.leftBarButtonItem = leftButton
let rightButton = UIBarButtonItem()
rightButton.customView = myRightBarView
navigationItem.rightBarButtonItem = rightButton
navigationItem.titleView = myTitleView
这在我的rightBarButtonItem
很小的时候可以正常工作,但是现在它的宽度约为 80 像素并且在较小的屏幕尺寸(iPhone 5 和 5s)上,titleView
被推向左侧,并略微重叠我的leftBarButtonItem
。
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:我希望你已经像这样添加了左右栏按钮项。
let button: UIButton = UIButton (type: UIButtonType.Custom)
button.setImage(UIImage(named: "imageName"), forState: UIControlState.Normal)
button.addTarget(self, action: "backButtonPressed:", forControlEvents: UIControlEvents.TouchUpInside)
button.frame = CGRectMake(0, 0, 30, 30)
let barButton = UIBarButtonItem(customView: button)
self.navigationItem.leftBarButtonItem = barButton
调用方法。
func backButtonPressed(btn : UIButton)
希望这会对你有所帮助。
【讨论】:
是的,我所有的栏按钮项都是 UIViews,它们作为 customView 添加到UIBarButtonItem
。但这无济于事。
能否请您写下您的整个左栏按钮,视图中的标题和右栏按钮代码将随着您的帖子出现并更新,以便我们尽快看到并帮助您。
已更新。视图不包含初始化代码,但它们使用自动布局。
我相信你的右栏按钮放置了空白空间,这就是为什么标题被推向左侧并覆盖在左栏按钮上。尝试在创建按钮时使用我的代码然后添加栏按钮项.希望这能解决您的问题。还要检查这个***.com/questions/36709220/…以上是关于导航栏标题视图与左栏按钮项重叠的主要内容,如果未能解决你的问题,请参考以下文章