ios – 为什么自定义导航栏按钮图像拉伸?

ios – 为什么自定义导航栏按钮图像拉伸?,第1张

概述我尝试添加带有自定义图像的导航栏按钮.但是,无论使用何种方法,图像始终显示为拉伸. 方法1: let barbuttonitem = UIBarButtonItem(image: UIImage(named: "apps_small"), style: .plain, target: self, action: nil) navigationItem.leftBarButtonItem = 我尝试添加带有自定义图像的导航栏按钮.但是,无论使用何种方法,图像始终显示为拉伸.

方法1:

let barbuttonitem = UIbarbuttonItem(image: UIImage(named: "apps_small"),style: .plain,target: self,action: nil)    navigationItem.leftbarbuttonItem = barbuttonitem

它看起来像这样:

方法2:

let button = UIbutton(type: .custom)    button.setimage(UIImage(named: "apps_small"),for: .normal)    button.addTarget(self,action: #selector(TeachingRootVIEwController.appstouched),for: .touchUpInsIDe)    button.frame = CGRect(x: 0,y: 0,wIDth: 10,height: 10)    button.bounds = CGRect(x: 0,height: 10)    navigationItem.leftbarbuttonItem = UIbarbuttonItem(customVIEw: button)

它看起来像这样:

方法3:

let button = UIbutton(type: .custom)    button.setimage(UIImage(named: "apps_small"),for: .normal)    button.setTitle("button",for: .normal)    button.frame = CGRect(x: 0,height: 10)    button.imageEdgeInsets = .init(top: 5,left: 5,bottom: 5,right: 300)    navigationItem.leftbarbuttonItem = UIbarbuttonItem(customVIEw: button)    navigationItem.leftbarbuttonItem?.imageInsets = .init(top: 5,right: 300)

它看起来像这样:

如你所见,标题已经消失.

在UI层次结构中,它看起来像这样:

按钮似乎占据了导航栏中的所有空格.

但是,带有系统项的按钮没有问题:

有谁知道这个问题的原因?我想我的想法已经用完了.

解决方法 尝试将其添加为subVIEw,而不是将其设置为leftbarbuttonItem

var leftbutton = UIbutton(frame:CGRect(x: 0,height: 10))var background = UIImageVIEw(image: UIImage(named: "apps_small"))background.frame = CGRect(x: 0,height: 10)leftbutton.addSubvIEw(background)self.navigationController.navigationbar.addSubvIEw(leftbutton)
总结

以上是内存溢出为你收集整理的ios – 为什么自定义导航栏按钮图像拉伸?全部内容,希望文章能够帮你解决ios – 为什么自定义导航栏按钮图像拉伸?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1063026.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存