Swift 4 升级问题,imageViews 作为导航栏中的栏按钮

标签 swift navigationbar navigationitem

所以我已经升级到 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/

相关文章:

ios - 如何使用swift将可编码结构发送到服务器

objective-c - 将 NSData Objective-C 代码转换为 Swift 时遇到问题

ios - 苹果收据 : Convert hours to NSDate

swift - 阻止大标题导航栏折叠

iphone - UITableViewController NavigationItem 按钮问题

macos - 将 NSTableView 绑定(bind)到 Swift 中的字符串数组

html - 如何根据窗口宽度调整菜单宽度

html - 始终在屏幕上显示导航栏

iOS navigationItem titleView 图片和文字

ios - searchBar 未在 navigationItem 中居中