【问题标题】:Why does navbar button disappear in iOS10?为什么导航栏按钮在 iOS10 中消失了?
【发布时间】:2018-08-31 18:54:58
【问题描述】:

创建按钮的代码:

languageTopBarButton = UIButton(type: .custom)
languageTopBarButton.setImage(UIImage(named: "iconGlobe"), for: .normal)
languageTopBarButton.setTitle(title, for: .normal)
languageTopBarButton.setTitleColor(UIColor.green, for: .normal)
languageTopBarButton.addTarget(self, action: #selector(rightNavButtonTapped), for: .touchUpInside)

let navBarHeight = navigationController?.navigationBar.frame.size.height
var rightButtonFrame = languageTopBarButton.frame
rightButtonFrame.size = CGSize(width: rightButtonFrame.width, height: navBarHeight!)
languageTopBarButton.frame = rightButtonFrame

let buttonItem = UIBarButtonItem(customView: languageTopBarButton)

navigationItem.rightBarButtonItem = buttonItem

按钮在iOS11可以正常,但是在iOS10就消失了

怎么了?

【问题讨论】:

  • "在iOS10可以,但是在iOS10就消失了"?
  • @onnoweb 哎呀误会了

标签: ios swift4 navbar


【解决方案1】:

我尝试创建一个按钮。在 iOS10 和 iOS11 上运行良好。我认为您的代码中的问题是您为自定义按钮设置了错误的框架。

override func viewDidLoad() {
    super.viewDidLoad()

    setupBarButton()
}

private func setupBarButton() {
    let languageTopBarButton = UIButton(type: .custom)
    languageTopBarButton.frame = CGRect(x: 0, y: 0, width: 20, height: 20)
    languageTopBarButton.setImage(UIImage(named: "iconGlobe"), for: .normal)
    let rightBarButton = UIBarButtonItem(customView: languageTopBarButton)
    self.navigationItem.rightBarButtonItem = rightBarButton
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    相关资源
    最近更新 更多