当尝试将 UIImageView(UIImage)
放入 UINavigationBar
上的 UIBarButtonItem
时,图像被放置在栏的中间并且还有覆盖整个酒吧的宽阔 field 。所以,看起来不像左侧的一个小按钮。
我尝试了各种调整框架大小、内容模式设置的技巧。
下面的代码来 self 的 View Controller ,它是导航 Controller 堆栈的一部分。将此图像添加到 Assets 中:
http://pluspng.com/img-png/png-hd-bike-ktm-bike-png-500.png
为了进行测试,将其命名为 bike.png 并在下面的 UIImage 中使用它。
override func viewDidLoad() {
super.viewDidLoad()
let image = UIImage(named: "bike")
let imageView = UIImageView(image: image)
imageView.backgroundColor = .blue //for debugging
imageView.contentMode = .scaleAspectFit
navigationItem.leftBarButtonItem = UIBarButtonItem(customView: imageView)
}
预期的结果是摩托车的图像位于左侧,而不是中间。此外,图像的左侧和右侧没有空字段(以蓝色突出显示以进行调试)。
预期(用画笔绘制):
现实:
最佳答案
最终解决为:
imageView.widthAnchor.constraint(equalToConstant: (navigationController?.navigationBar.frame.height)!).isActive = true
关于ios - UIImageView 在 UIBarButtonItem 中的正确放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56139663/