设置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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容