大家可能多数人对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!