UILabel自适应
Posted 閑人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UILabel自适应相关的知识,希望对你有一定的参考价值。
以下代码以固定宽度,高度可变为例,先利用一个临时的label计算文本的宽度和高度,再将这个宽度和高度(CGSIze)赋值给一个要先显示的label(self.abstract)
- (void)fixWidthWithAbstractText:(NSString *)text
{
self.abstract.size = [self sizeLabelToFit:text width:APPLICATION_SCREEN_WIDTH - 30 height:CGFLOAT_MAX];
self.abstract.text = text;
[self.abstract sizeToFit];
}
/**
* 返回UILabel自适应后的size
*
* @param aString 字符串
* @param width 指定宽度
* @param height 指定高度
*
* @return CGSize
*/
- (CGSize)sizeLabelToFit:(NSString *)aString width:(CGFloat)width height:(CGFloat)height {
UILabel *tempLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, width, height)];
tempLabel.text = aString;
tempLabel.numberOfLines = 0;
tempLabel.lineBreakMode = NSLineBreakByWordWrapping;
[tempLabel sizeToFit];
CGSize size = tempLabel.frame.size;
size = CGSizeMake(ceilf(size.width),ceilf(size.height));
return size;
}
以上是关于UILabel自适应的主要内容,如果未能解决你的问题,请参考以下文章