一句话实现UIButton 内文字和图片的位置。

2017-12-18  本文已影响14人  草原野马

UIButton 的内部结构

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

内部结构.png

项目需求

想必大家的项目中都会有这样的需求,一个控件 既有图片又有文字,但是位置有时上下左右变化,但是我们又不想去用多个控件展示,为了减少便捷性,我们经常用一个UIButton代替。

解决办法

第一种办法

自定义Button 继承,然后内部布局里面的UILable和UIImageView的frame (缺点需要继承)

第二种办法

代码里面自己算self.titleEdgeInsets和self.imageEdgeInsets。(自己计算比较麻烦)

推荐的解决办法

目前觉的还是给UIButton 加类别的方法比较实用 在类别中暴露出方法 来确定图片的和文字的位置,以及它们之间的距离

自定义方法.png

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


不做任何操作的展示.png

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


效果图.png 图片在左相距20.png

同样的道理 图片在右


图片在右.png

同样的道理 图片在上

图片在上.png

同样的道理 图片在下

图片在下.png
觉的这类类别还是很好用的 看到别人的demo 地址  https://github.com/yanhaiqiang/HQIconButton
上一篇下一篇

猜你喜欢

热点阅读