美文网首页
iOS UIButton之imageEdgeInsets和tit

iOS UIButton之imageEdgeInsets和tit

作者: KingTortoise | 来源:发表于2020-08-14 11:40 被阅读0次

    前序

    在实际开发中,经常会遇到UIImage+UILabel+点击事件的需求,比较挫的做法就是用UIButton+UIImage+UILabel三个控件组合使用。高级的用法就是使用UIButton一个控件,设置UIButton的Image和TitleLabel。
    UIButton同时设置Image和Label时,默认情况是Image在左,Label在右。我们实际需要的效果是Image在上,Label在下,那么此时就需要了解并运用imageEdgeInsets和titleEdgeInsets。

    API理解

    关于imageEdgeInsets和titleEdgeInsets的详解网上已经有很多的文章:
    iOS UIButton之UIEdgeInsets详解

    封装与运用

    关于imageEdgeInsets和titleEdgeInsets网络上有很多的例子,每次要用到的时候都要去进行一番查询(比较笨,老是记不住),所以自己进行了简单的封装。

    扩展UIButton

    通过扩展UIButton,提供一个实例方法,直接设置Image的方向,就可自动设置出对应的imageEdgeInsets和titleEdgeInsets。

    例子
    [self.testBtn setImageAndTitleDirection:FlexDirectionTypeImgRight offset:0];
    
    FlexDirectionTypeImgTop
    WeChatfa194fdc491f2f687521b0b0df888872.png
    FlexDirectionTypeImgLeft
    WeChatabb60d915dbd303e44bc9c6d9089fa21.png
    FlexDirectionTypeImgBottom
    WeChat3820fd03ccca82826c2ce26d88026790.png
    FlexDirectionTypeImgRight
    WeChat936986dc03d20e63d26928a8c4817e90.png

    代码地址

    此为测试Demo,如果您想使用该封装文件,可将Demo中UIButton+flexDirection(.h、.m)文件copy至您的工程。
    ButtonFlexDirection

    相关文章

      网友评论

          本文标题:iOS UIButton之imageEdgeInsets和tit

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