【问题标题】:How to resize navigation bar button images如何调整导航栏按钮图像的大小
【发布时间】:2023-03-29 21:07:01
【问题描述】:

我尝试了其他堆栈溢出答案,但它们似乎不起作用,我不确定 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)

编辑:

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

【问题讨论】:

  • 我总是使用 uiivew 和 uibutton 来避免此类问题

标签: ios swift uinavigationbar frame cgrect


【解决方案1】:
let item = UIBarButtonItem(image: #imageLiteral(resourceName: ImageNameHere), style: .plain, target: self, action: #selector(action))

@objc func action() {

}

【讨论】:

  • 太棒了,这很有效,但现在它在导航栏的中间,而不是我的右边。知道我能做些什么来解决这个问题吗?我编辑了我的帖子以添加它现在的样子。我想也许我可以用锚来解决这个问题,但似乎“项目”变量没有锚属性。
  • @Wana_B3_Nerd 检查这个:hackingwithswift.com/example-code/uikit/…
  • 我试过了,但它最终将图片和标签移到了最左边,而心脏仍然在中间
猜你喜欢
  • 1970-01-01
  • 2018-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多