本想着用UIButton扩展来实现image和title的位置和距离的设置的,但最终还是决定用class来解决UIButton,因为返回的是实例化的对象,我希望拿到super,然后对它做其他的操作.
先来分析看看最下面的三个函数,因为依靠这三个函数能返回UIButton的titleLabel的长度以及高度,不过有人可能会说可以直接拿到它的数值,因为这些是工具类函数,所以就统一用它来拿数据.
接下来就要说到image和title位置以及距离的设置了,有些人比较喜欢用枚举去定义位置关系,但我比较不是很喜欢,所以我就用最直接直接的传参.
img为图片名称,如果需要满足很多的需求,可以把img定义为UIImage,这样就不会局限
imgTop imgLeft imgRight 为图片相对于titleLabel所在的位置,默认false,如果全为false,图在下
space是图片和titleLabel之间的间距,默认值可加可不加
接下来就是使用了: