IOS之UILabel自适应高度

来源:互联网 发布:淘宝手机使用模板 编辑:程序博客网 时间:2024/06/11 19:48

当label文本框大小一定的情况下,而要显示的文本内容长度大于label的weight是,多出的内容只能用....代替了。如何能让文本内容不管多少都能全部的显示出来呢。在这里就写了一个UILabel的类目,该类目的方法就能很好的解决这一问题。

代码如下;

#import <UIKit/UIKit.h>@interface UILabel (AutoResize)-(CGRect)matchedRect;-(void)setFrameLabelWithOrigin:(CGPoint)point;@end

#import "UILabel+AutoResize.h"@implementation UILabel (AutoResize)-(CGRect)matchedRect{    self.font = [UIFont systemFontOfSize:13];    self.numberOfLines = 0;    return [self.text boundingRectWithSize:CGSizeMake(300, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName: self.font} context:nil];}-(void)setFrameLabelWithOrigin:(CGPoint)point{    CGRect rect = [self matchedRect];    [self setFrame:CGRectMake(point.x, point.y, rect.size.width, rect.size.height)];}@end

上面类目中定义的两个方法实现了文本字体大小的设置、文本行数的设置以及最主要的label大小的自适应。有了这个UILabel类目之后,以后如果在遇到任何有关UILabel高度自适应的问题 都可以使用该类目进行解决。

0 0
原创粉丝点击