Ios 左对齐居中按钮上的图像

Ios 左对齐居中按钮上的图像,ios,objective-c,uibutton,Ios,Objective C,Uibutton,在标题完全居中的同时,让UIButton的图像边缘插图左对齐的好方法是什么?例如: 图像将有一个恒定的左插图,但标题将始终位于整个按钮的中心。我找到的大多数解决方案都可以追溯到4年或5年前,它们基于手动计算图像的必要插入,同时保持标题的中心对齐 是否真的没有简单的方法可以做到这一点?您可以通过使用按钮的图像将资源设置为左对齐,并将水平对齐设置为左对齐。对于标题,可以添加额外的UILabel,并以水平居中对齐的方式对其进行约束 您可以设置边缘以更改按钮的文本和图像位置 根据您的要求设置左上下

在标题完全居中的同时,让UIButton的图像边缘插图左对齐的好方法是什么?例如:

图像将有一个恒定的左插图,但标题将始终位于整个按钮的中心。我找到的大多数解决方案都可以追溯到4年或5年前,它们基于手动计算图像的必要插入,同时保持标题的中心对齐


是否真的没有简单的方法可以做到这一点?

您可以通过使用按钮的图像将资源设置为左对齐,并将水平对齐设置为左对齐。对于标题,可以添加额外的UILabel,并以水平居中对齐的方式对其进行约束


您可以设置边缘以更改按钮的文本和图像位置


根据您的要求设置左上下和右下

使用约束应该正确地完成工作吗?将资产的
Leading
设置为零,并将标题中心水平对齐。我假设您的意思是将资产作为按钮的子视图放在那里?因为我不认为使用UIButton的内置图像属性可以编辑任何约束Yea。或者,为按钮的控件对齐做左对齐,为标题解决方案1额外做一个UILabel:子类UIButton并重写
-(CGRect)titleRectForContentRect:(CGRect)contentRect
-(CGRect)imageRectForContentRect:(CGRect)contentRect
方法。解决方案2:修改
ui按钮的
titleEdgeInsets
imageEdgeInsets
属性。感谢您的输入。我知道我可以通过使用子视图来实现这一点,但我宁愿不这样做。这使得按钮状态这类事情突然成为****的痛苦。对按钮状态的关注确实是一个有效的论点。然后,您可能希望尝试在UIView容器中使用两个按钮。一个按钮用于资产,一个按钮用于标题。并根据您的要求对其进行约束。