设置UIButton的EdgeInsets

iOS开发肯定免不了各式各样的button,有时候btn的image和title会有各种各样的相对位置;有时候为了给btn增加触控区域,也会改变image和text的位置。
最近刚好遇到了,总结一下几个关键的属性。

contentVerticalAlignment

image和title的垂直对齐方式,主要有 居顶、居底、居中、fill,默认居中。

contentHorizontalAlignment

image和title的垂直对齐方式,主要有 居左、居右、居中、fill,默认居中。

默认btn是图片在左,title在右。

当想调整image和title的相对位置时,我一般选择 居顶 和 居左 (我觉得这样偏移量容易计算)
然后有两个方法分别设置image和title的位置:

setImageEdgeInsets:<#(UIEdgeInsets)#>
setTitleEdgeInsets:<#(UIEdgeInsets)#>

UIEdgeInsetsMake(top, left, bottom, right)
一般情况下,设置top和left就能满足。

如果是居中的情况,设置UIEdgeInsetsMake(top, left, bottom, right),不能实现直接的偏移,后续再补充。

具体情况,见demo:https://github.com/coderYMS/YMTextImageButton

你可能感兴趣的:(设置UIButton的EdgeInsets)