UILabel似乎没有提供这个方法,而网上的方法看了感觉有点复杂,于是自己写了一个UIlabel的Category。
废话少说,直接上代码。
UILable两端对齐代码只要在UILabel中实现这个代码,然后再提供一个外部接口就好。
下面是效果图
效果如图是不是简单轻松?如果亲测有效,记得回来点赞哦。
UILabel似乎没有提供这个方法,而网上的方法看了感觉有点复杂,于是自己写了一个UIlabel的Category。
废话少说,直接上代码。
UILable两端对齐代码只要在UILabel中实现这个代码,然后再提供一个外部接口就好。
下面是效果图
效果如图是不是简单轻松?如果亲测有效,记得回来点赞哦。
本文标题:iOS下如何让UILabel两端对齐
本文链接:https://www.haomeiwen.com/subject/prqjkttx.html
网友评论
label.textAlignment = NSTextAlignmentJustified;
不过我有个需要就是最后一行如果文字没满,就不需要两端对齐
其它行对齐主要是右边空太多好丑
这个大法好
我觉得这个办法更好
[self layoutIfNeeded];
CGSize testSize = [self.text boundingRectWithSize:CGSizeMake(labelWidth, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingTruncatesLastVisibleLine| NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName :self.font} context:nil].size;
CGFloat margin = (labelWidth - testSize.width)/(self.text.length - 1);
NSNumber *number = [NSNumber numberWithFloat:margin];
NSMutableAttributedString *attribute = [[NSMutableAttributedString alloc] initWithString:self.text];
[attribute addAttribute: NSKernAttributeName value:number range:NSMakeRange(0, self.text.length - 1 )];
self.attributedText = attribute;
}
- (void)changeAlignmentRightandLeft;方法并在category的头文件中声明外部接口。
实现category后,让需要两端对齐的ULLabel调用changeAlignmentRightandLeft方法。像这样[label changeAlignmentRightandLeft];
明白了吗?