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);
方法二:
分别设置图片跟文字的属性:imageEdgeInsets、titleEdgeInsets,没有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日 周四