如何让我的 UIButton 标题有一些填充?

How do I make my UIButton title have some padding?

假设我有一个尺寸为 120 宽 x 30 高的 UIButton。我在其上设置了一个带有居中文本的属性标题,并在 .highlighted 状态的属性文本的文本上设置了背景颜色。

当用户突出显示按钮时,我希望标题周围显示的背景与按钮具有相同的框架。

我尝试了按钮的 titleEdgeInsetscontentEdgeInsets 的正值和负值,但没有成功。这里有什么建议吗?谢谢

我认为最简单(意思是最可控)的方法是使用按钮子类并覆盖 titleRect。它会在突出显示和未突出显示时调用,因此您有机会根据状态更改答案。

但是,这不会更改属性文本背景颜色的大小,因为它仅适用于文本。您需要更改标题标签本身的背景颜色。