【发布时间】:2018-03-15 15:18:32
【问题描述】:
在 iOS 10 及下方,我的栏按钮在导航栏中的位置不正确。这可能是什么原因造成的?
这是设置按钮的函数:
func setBarButton(image: UIImage?, position: BarButtonPosition, target: AnyObject, selector: Selector) -> Void {
let barButton = UIBarButtonItem(title: "", style: .plain, target: target, action: selector)
barButton.image = image
if position == .left {
navigationItem.leftBarButtonItem = barButton
navigationItem.leftBarButtonItem?.tintColor = UIColor.zbPrimary
} else {
navigationItem.rightBarButtonItem = barButton
navigationItem.rightBarButtonItem?.tintColor = UIColor.zbPrimary
}
}
我在viewDidLoad 中调用函数:
setBarButton(image: #imageLiteral(resourceName: "settings-icon"), position: .right, target: self, selector: #selector(openSettings))
这只发生在 UIBarButtonItem 设置图像的情况下,而不是那些只有标题或自定义视图的情况
【问题讨论】:
-
问对了问题。根据您的描述和标题看起来很奇怪。
-
如果你不需要标题,为什么要使用
UIBarButtonItem的初始化器和标题?尝试将图像直接传递给初始化程序而不设置空标题并检查是否有任何变化。