要创建的代码按钮:
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中消失

怎么了?
发布于 2018-09-02 15:34:32
我试着创建一个按钮。在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
}https://stackoverflow.com/questions/52121304
复制相似问题