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

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

作者: 草原野马 | 来源:发表于2017-12-18 10:53 被阅读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
    

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/qxmpwxtx.html