美文网首页ios积累
ios-按钮UIButton文字左图片右

ios-按钮UIButton文字左图片右

作者: 东岳哥哥 | 来源:发表于2017-07-20 19:12 被阅读0次

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文字左图片右

    本文链接:https://www.haomeiwen.com/subject/unhlkxtx.html