所以我已经升级到 swift 4,现在我的左右 uiimageviews 设置为左/右导航按钮项目显示为大图标。我发现框架设置没有被应用,我不知道为什么。
有谁知道这可能是什么原因造成的吗?
这是一些代码
lazy var leftBarPic: UIImageView = {
let pic = UIImageView(frame: CGRect(x: 0, y: 0, width: 25, height: 25))
pic.clipsToBounds = true
pic.contentMode = .scaleAspectFit
pic.image = myImage.withRenderingMode(.alwaysOriginal)
pic.isUserInteractionEnabled = true
pic.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(postNewsAction)))
pic.backgroundColor = .green
return pic
}()
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.leftBarButtonItem = UIBarButtonItem(customView: leftBarPic)
}
最佳答案
好的,我找到了修复方法。对于任何有类似情况的人,我所做的是将属性(在本例中为左侧导航器 imageView)添加到 View 的 subview 中。然后添加宽度和高度的约束。看来,通过升级设置属性内的导航项框架(仅限 ImageView )不起作用。
关于Swift 4 升级问题,imageViews 作为导航栏中的栏按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46375306/