如何在使用自动布局时更改默认UIButton填充

Gre*_*own 17 uibutton ios autolayout uiedgeinsets

在iOS 6中使用自动布局时,UIButton的内在内容大小似乎包含按钮文本周围约10px的填充.有没有办法控制这个填充值?例如,我希望能够做到这样的事情,将每边的填充设置为5px:

[button setPadding:UIEdgeInsetsMake(5, 5, 5, 5)];
Run Code Online (Sandbox Code Playgroud)

我试过设置contentEdgeInsets,titleEdgeInsets和imageEdgeInsets都无济于事.奇怪的是,在contentEdgeInsets中指定负左值或右值似乎有一些效果,但不是顶部或底部.

无论哪种方式,我希望能够将实际填充值指定为正数,而不是将默认值调整为表示为负数.任何人都知道这是否可行?

Gre*_*own 12

我意识到我在两年前发布了这个问题,但我想跟进并注意到该contentEdgeInsets属性现在似乎与autolayout一起正常工作.例如,以下代码生成一个按钮,其内容周围有20像素的边距:

button.contentEdgeInsets = UIEdgeInsetsMake(20, 20, 20, 20);
Run Code Online (Sandbox Code Playgroud)