在居中的UIButton上左对齐图片

3

如何使UIButton的图像边缘插图左对齐,同时使标题完全居中?就像下面这样:

enter image description here

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

难道还没有简单的方法吗?


使用约束应该可以完成工作,对于资产设置“Leading”为零,并将标题水平居中对齐。 - Stephenye
我猜你的意思是将资源作为子视图放在按钮上?因为我认为使用UIButton内置的image属性无法编辑任何约束。 - Daniel Larsson
左对齐控件以使按钮和UILabel标题对齐。 - Stephenye
и§ЈеҶіж–№жЎҲ1пјҡеӯҗзұ»еҢ–UIButton并йҮҚеҶҷ- (CGRect)titleRectForContentRect:(CGRect)contentRectе’Ң- (CGRect)imageRectForContentRect:(CGRect)contentRectж–№жі•гҖӮи§ЈеҶіж–№жЎҲ2пјҡдҝ®ж”№UIButtonзҡ„titleEdgeInsetsе’ҢimageEdgeInsetsеұһжҖ§гҖӮ - KudoCC
2个回答

0

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

button with asset left aligned set horizontal alignment


谢谢您的输入。我知道可以通过使用子视图来实现这一点,但我宁愿不这样做。这会使像按钮状态这样的事情突然变得非常麻烦。 - Daniel Larsson
关于按钮状态的担忧确实是一个有效的论点。那么您可能想尝试在UIView容器中使用两个按钮。一个按钮用于资产,一个用于标题。并根据您的要求对它们进行约束。 - Stephenye

0

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

enter image description here

根据您的需求设置左、上、下和右侧。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接