swift – 如何在UIButton的右边缘对齐UIButton图像

swift – 如何在UIButton的右边缘对齐UIButton图像,第1张

概述如何将图像对齐到UIButton的右边缘,因此它将保留在所有设备的右边缘.下图显示了带有图像的UIButton(圆三角形).图像是来自iPhone 6的屏幕截图,它符合我的要求.但是对于iPhone 6,图像向左移动一点,对于iPhone 5,它向右移动,图像显示在UIButton之外.我知道这个的原因,这是因为我将UIEdgeInsets的左边设置为300适合iPhone 6的值.所以我的问题是 如何将图像对齐到UIbutton的右边缘,因此它将保留在所有设备的右边缘.下图显示了带有图像的UIbutton(圆三角形).图像是来自iPhone 6的屏幕截图,它符合我的要求.但是对于iPhone 6,图像向左移动一点,对于iPhone 5,它向右移动,图像显示在UIbutton之外.我知道这个的原因,这是因为我将UIEdgeInsets的左边设置为300适合iPhone 6的值.所以我的问题是我如何能够为所有iPhone设置这种外观.谢谢.

我的UIbutton代码:

class DropDownbutton : UIbutton{    required init(coder aDecoder: NSCoder) {        super.init(coder: aDecoder)!        style()    }    private func style() {        self.TitleEdgeInsets.left = 0        self.layer.cornerRadius = 2;        self.setimage(UIImage(named: "Arrow_Close"),forState: UIControlState.normal)        self.imageEdgeInsets = UIEdgeInsets(top: 0,left: 300,bottom: 0,right: 0)        self.backgroundcolor = UIcolor(CGcolor: "#FFFFFF".CGcolor)        self.tintcolor = UIcolor(CGcolor: "#616366".CGcolor)        self.TitleLabel!.Font = UIFont(name: "OpenSans",size: 15)    }}
问题是你是硬编码左边插图:
self.imageEdgeInsets = UIEdgeInsets(top: 0,right: 0)

显然,无论按钮的宽度如何,当您想要做的是相对于右侧进行配置时,它将无法工作!如果由于自动布局或其他原因按钮变宽或变窄,您的图像将被悬挂在错误的位置.改为设置正确的插图.

或者,子类UIbutton并覆盖imageRectForContentRect:.现在,图像的位置将基于按钮大小,无论它是什么(因为自动布局或其他).

总结

以上是内存溢出为你收集整理的swift – 如何在UIButton的右边缘对齐UIButton图像全部内容,希望文章能够帮你解决swift – 如何在UIButton的右边缘对齐UIButton图像所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1035050.html

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

发表评论

登录后才能评论

评论列表(0条)

保存