UIButton 的内部结构
想必大家都知道UIButton 的内部结构,实际就是有UILabel 和UIImageView 组合在一起的。

项目需求
想必大家的项目中都会有这样的需求,一个控件 既有图片又有文字,但是位置有时上下左右变化,但是我们又不想去用多个控件展示,为了减少便捷性,我们经常用一个UIButton代替。
解决办法
第一种办法
自定义Button 继承,然后内部布局里面的UILable和UIImageView的frame (缺点需要继承)
第二种办法
代码里面自己算self.titleEdgeInsets和self.imageEdgeInsets。(自己计算比较麻烦)
推荐的解决办法
目前觉的还是给UIButton 加类别的方法比较实用 在类别中暴露出方法 来确定图片的和文字的位置,以及它们之间的距离

我们来不做任何操作里面的内部实现

我们为了图片和文字之间有20的距离,那么图片就要向左移动10 文字就要向右移动10.看实际代码


同样的道理 图片在右

同样的道理 图片在上

同样的道理 图片在下

觉的这类类别还是很好用的 看到别人的demo 地址 https://github.com/yanhaiqiang/HQIconButton
网友评论