UIButton图文重排

UIButton默认显示方式是图片在左边,文字在右边,可以使用setTitleEdgeInsets和setImageEdgeInsets来调整图片和文字的位置。

设置文字在左,图片在右:

[btn setTitleEdgeInsets:UIEdgeInsetsMake(0, -btn.imageView.frame.size.width, 0, btn.imageView.frame.size.width)];
[btn setImageEdgeInsets:UIEdgeInsetsMake(0, btn.titleLabel.bounds.size.width, 0, -btn.titleLabel.bounds.size.width)];

设置图片在上,文字在下:

CGSize imageSize = btn.imageView.bounds.size;
CGSize titleSize = btn.titleLabel.bounds.size;
CGSize btnSize = btn.frame.size;
float fTop = (btnSize.height-imageSize.height-titleSize.height)/2;
btn.imageEdgeInsets = UIEdgeInsetsMake(fTop, (btnSize.width-imageSize.width)/2, fTop+titleSize.height, (btnSize.width-imageSize.width)/2);
btn.titleEdgeInsets = UIEdgeInsetsMake(fTop+imageSize.height+2, -imageSize.width, fTop-2, 0);

猜你喜欢

转载自blog.csdn.net/watson2017/article/details/84071804