我有UIButton
,文字为“你好”。
我正在使用自动布局,我没有为按钮设置任何宽度或高度,因为我希望它与内容一样大,因为这可能会改变。
我希望在每个边缘添加一个让我们说10分的差距。
到目前为止,我发现的所有主题都谈到了使用titleEdgeInsets
增加一些差距。我不能使用它,因为它只会移动标题,但不会调整实际按钮的大小。
是否有比以下更简单的方法:
- 获取文本,计算其边界矩形的大小
- 根据之前的尺寸+任何间隙设置按钮的框架
- 玩titleEdgeInsets
答案 0 :(得分:0)
如果要在按钮外添加间隙,只需将其包装在自定义视图中,该视图实现systemLayoutSizeFittingSize函数并返回从UIButton.systemLayoutSizeFittingSize + gap返回的值。
要在按钮内添加间隙,请继承UIButton并覆盖systemLayoutSizeFittingSize。