ios-按钮UIButton文字左图片右

iOS-按钮UIButton文字在左图片在右:
有两种实现方式

方法一:

一句代码搞定:按钮有一个属性semanticContentAttribute,直接对它进行赋值就行了。
不过要注意的是,它支持iOS9及以上版本。

这句代码就行了:
self.nextButton.semanticContentAttribute = UISemanticContentAttributeForceRightToLeft
下面是设置图片跟文字的间距:
//    CGFloat margin = (viewWidth - CGRectGetWidth(self.bindButton.imageView.frame) - CGRectGetWidth(self.bindButton.titleLabel.frame)) *0.5;
//    CGFloat marginGay = 22;
//    self.bindButton.imageEdgeInsets = UIEdgeInsetsMake(0, marginGay, 0, margin - marginGay);
方法二:

分别设置图片跟文字的属性:imageEdgeInsetstitleEdgeInsets,没有iOS版本问题。

//文字的size
CGSize textSize = [self.bindButton.titleLabel.text sizeWithFont:self.bindButton.titleLabel.font];//支持到iOS7.0
CGSize textSize = [self.bindButton.titleLabel.text sizeWithAttributes:@{NSFontAttributeName:self.bindButton.titleLabel.font}];//iOS7.0+
CGSize imageSize = self.bindButton.currentImage.size;
CGFloat marginGay = 10;//图片跟文字之间的间距
self.bindButton.imageEdgeInsets = UIEdgeInsetsMake(0, textSize.width + marginGay - imageSize.width, 0, - textSize.width - marginGay + imageSize.width);
self.bindButton.titleEdgeInsets = UIEdgeInsetsMake(0, - imageSize.width - marginGay, 0, imageSize.width + marginGay);
//设置按钮内容靠右
self.bindButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight;

2017年7月20日 周四

你可能感兴趣的:(ios-按钮UIButton文字左图片右)