美文网首页
setTitleEdgeInsets/setImageEdgeI

setTitleEdgeInsets/setImageEdgeI

作者: Sulas | 来源:发表于2017-07-24 18:42 被阅读0次

    大家可能多数人对button的这两个属性很困惑,

    不知道该怎么赋值,不知道所赋的值相对于谁来说

    在这简单为大家分享下:

    button默认的图片及文字的位置为:

    如果我们想实现:

    该怎么设置呢:

    CGFloat button_centerX =CGRectGetMidX(_bgBtn.bounds);// bounds 获取button中心位置

    CGFloat titleLabel_centerX =CGRectGetMidX(_bgBtn.titleLabel.frame);//获取title中心位置

    CGFloat imageView_centerX =CGRectGetMidX(_bgBtn.imageView.frame);//获取imageview中心位置

    [_bgBtn setTitleEdgeInsets:UIEdgeInsetsMake(上, 左,下, 右)];

    其中的上。左。下。右都是相对于button默认的位置而言。

    故:实现上图

    [_bgBtn  setTitleEdgeInsets:UIEdgeInsetsMake(0, - (titleLabel_centerX - button_centerX),0, (titleLabel_centerX - button_centerX))];

    [_bgBtn  setImageEdgeInsets:UIEdgeInsetsMake(0, button_centerX - imageView_centerX,0, -(button_centerX - imageView_centerX))];

    其他的不言而喻,相同的道理设置,就ok!

    相关文章

      网友评论

          本文标题:setTitleEdgeInsets/setImageEdgeI

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