如何在UIButton文本的边缘添加额外的空间?

时间:2016-02-07 02:31:56

标签: ios swift uibutton

我有UIButton,文字为“你好”。

我正在使用自动布局,我没有为按钮设置任何宽度或高度,因为我希望它与内容一样大,因为这可能会改变。

我希望在每个边缘添加一个让我们说10分的差距。

到目前为止,我发现的所有主题都谈到了使用titleEdgeInsets增加一些差距。我不能使用它,因为它只会移动标题,但不会调整实际按钮的大小。

是否有比以下更简单的方法: - 获取文本,计算其边界矩形的大小 - 根据之前的尺寸+任何间隙设置按钮的框架 - 玩titleEdgeInsets

1 个答案:

答案 0 :(得分:0)

如果要在按钮外添加间隙,只需将其包装在自定义视图中,该视图实现systemLayoutSizeFittingSize函数并返回从UIButton.systemLayoutSizeFittingSize + gap返回的值。

要在按钮内添加间隙,请继承UIButton并覆盖systemLayoutSizeFittingSize。