首页 > 解决方案 > 如何调整导航栏按钮图像的大小

问题描述

我尝试了其他堆栈溢出答案,但它们似乎不起作用,我不确定 swift 5 中是否发生了某些变化。但这是我用来创建右栏按钮的代码。我遵循了 youtube 上的教程,然后查看了 stackoverflow 的解决方案,但似乎没有一个有效。因为我已将按钮的框架设置为 34x34,但图像似乎只是延伸到整个导航栏。

        //Adding Unmatch Button
        let unmatchBtn = UIButton(type: .system)
        unmatchBtn.setImage(UIImage(named: "heartbreak")?.withRenderingMode(.alwaysOriginal), for: .normal )
        unmatchBtn.frame = CGRect(x: 0, y: 0, width: 34, height: 34)

        navigationItem.rightBarButtonItem = UIBarButtonItem(customView: unmatchBtn)

在此处输入图像描述

编辑:

在答案的帮助下,它现在可以正确地放在导航栏上,但布局现在已经搞砸了。它左边的东西是我制作的一个自定义视图,它被推到左边。 在此处输入图像描述

标签: iosswiftuinavigationbarframecgrect

解决方案


let item = UIBarButtonItem(image: #imageLiteral(resourceName: ImageNameHere), style: .plain, target: self, action: #selector(action))

@objc func action() {

}

推荐阅读