您的位置:首页 > 产品设计 > UI/UE

IOS之UILabel自适应高度

2014-05-29 18:29 405 查看
当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高度自适应的问题 都可以使用该类目进行解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: