有时候在项目中会遇到文本两端对齐的一种需求,现在把代码分享过来
//
// Created by open on 16/8/25.
// Copyright © 2016年 LCB. All rights reserved.
//
#import "UILabel+MiddleAliment.h"
#import <CoreText/CoreText.h>
@implementation UILabel (MiddleAliment)
-(void)changeAlignmentRightAndLeft
{
CGSize textSize = [self.text boundingRectWithSize:CGSizeMake(self.frame.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName:self.font} context:nil].size;
CGFloat margin = (self.frame.size.width - textSize.width)/self.text.length -1;
NSNumber *number = [NSNumber numberWithFloat:margin];
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc]initWithString:self.text];
[attr addAttribute:(id)kCTKernAttributeName value:number range:NSMakeRange(0, self.text.length -1)];
self.attributedText = attr;
}
@end