自定义一个Label
.m文件中
#import "DINGYAOSuitLabel.h"
@interface DINGYAOSuitLabel ()
@property(nonatomic,strong)NSString *temp;
@end
@implementation DINGYAOSuitLabel
-(void)layoutSubviews{
[super layoutSubviews];
if(self.temp.length==0||self.temp==nil){
return;
}
NSString *temp=self.temp;
do {
CGSize size=[temp boundingRectWithSize:CGSizeMake(self.frame.size.width+1,CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading attributes:@{ NSFontAttributeName : self.font} context:nil].size;
if([self isSuit:size]){
[super setText:temp];
break;
}else{
temp=[self.temp substringWithRange:NSMakeRange(0, self.temp.length-1)];
[self setText:temp];
}
} while (YES);
}
-(BOOL)isSuit:(CGSize)size{
if(size.width<=self.frame.size.width&&size.height<=self.frame.size.height){
return YES;
}
return NO;
}
-(void)setText:(NSString *)text{
[super setText:text];
_temp=text;
}