美文网首页iOS表格绘制
iOS UIbutton正确的上图下文设置方法(完美设置)

iOS UIbutton正确的上图下文设置方法(完美设置)

作者: lixiangdev | 来源:发表于2017-03-30 23:46 被阅读0次

    话不多说先看代码

    [but setTitleEdgeInsets:
           UIEdgeInsetsMake(but.frame.size.height/2,
                           (but.frame.size.width-but.titleLabel.intrinsicContentSize.width)/2-but.imageView.frame.size.width,
                            0,
                           (but.frame.size.width-but.titleLabel.intrinsicContentSize.width)/2)];
    [but setImageEdgeInsets:
               UIEdgeInsetsMake(
                           0,
                           (but.frame.size.width-but.imageView.frame.size.width)/2,
                            but.titleLabel.intrinsicContentSize.height,
                           (but.frame.size.width-but.imageView.frame.size.width)/2)];
    

    思路:
    UIbutton的默认排版是 (图在左 字在右) 且 (图字 )中间没有间隔。
    那么先设置文字。
    top:我让文字在button的一半以下,所以top是button的高度一半。
    left:整个button的宽度减去文字label的宽度后还剩下左边的默认imageView的宽度,那么先除2再减去原来的imageView的宽度。
    bottom:底部距button的底部为0没有任何影响
    right:右边则是button的宽减去label的宽度,如果为0会往右偏一点

    图片
    top:距离button顶部的距离为0没有任何影响
    left:想让图片居中显示直接用button的宽度减去imageView宽度后除以2。
    bottom:距离底部那么就设置距离底部为文字label的高度。正好在文字之上
    right:同left 让图片居中显示,距离button右边相同的距离。(如果认为设置左边后,右边设置0,觉得反正左边设置齐了,右边不会多不会少,但是不要忘了这是EdgeInsets,如果右间距为0,那么就会往右靠,所以图片的左右距离button的边界保持一致)。

    如果有问题欢迎评论,一起探讨解决这个问题。

    相关文章

      网友评论

        本文标题:iOS UIbutton正确的上图下文设置方法(完美设置)

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