美文网首页
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