iOS 按钮 文字在左 图片在右的实现

我们在项目开发中,往往会遇到一个按钮的文字在左 图片在右的需求,如下图:


iOS 按钮 文字在左 图片在右的实现_第1张图片
按钮的文字与图片位置.png

我在网上也找了不少类似的文章,实现出了的问题就是文字与图片会重叠,重叠的原因就是获取的 button.titleLabel.width 为 0。

所以我先获取到button.titleLable.text的宽度,代码:

[lookMoreBtn setImage:[UIImage imageNamed:@"look_more_image"] forState:UIWindowLevelNormal];

CGSize size_1 = [lookMoreBtn.titleLabel.text boundingRectWithSize:CGSizeMake(MAXFLOAT, 40) options:NSStringDrawingTruncatesLastVisibleLine attributes:@{NSFontAttributeName:textFontWeightSize(13, 0)} context:nil].size;

再来调节button上的文字与图片的位置:

//设置偏移量
lookMoreBtn.titleEdgeInsets = UIEdgeInsetsMake(0, -lookMoreBtn.currentImage.size.width, 0, lookMoreBtn.currentImage.size.width);
lookMoreBtn.imageEdgeInsets = UIEdgeInsetsMake(0, size_1.width + 10, 0, -size_1.width - 10);
            
//居中位置设置
lookMoreBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;

你可能感兴趣的:(iOS 按钮 文字在左 图片在右的实现)