【问题标题】: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

我该如何解决这个问题?

【问题讨论】:

    标签: ios swift


    【解决方案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。但这无济于事。
    • 能否请您写下您的整个左栏按钮,视图中的标题和右栏按钮代码将随着您的帖子出现并更新,以便我们尽快看到并帮助您。
    • 已更新。视图不包含初始化代码,但它们使用自动布局。
    • 我相信你的右栏按钮放置了空白空间,这就是为什么标题被推向左侧并覆盖在左栏按钮上。尝试在创建按钮时使用我的代码然后添加栏按钮项.希望这能解决您的问题。还要检查这个stackoverflow.com/questions/36709220/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    相关资源
    最近更新 更多