ios之UILabel实现文本自适应方法

Posted wzzkaifa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios之UILabel实现文本自适应方法相关的知识,希望对你有一定的参考价值。

UILabel实现文本自适应方法(ios7)

- (void)initUserInterface
{
    UILabel *label = [[UILabel alloc]init];
    label.numberOfLines = 0; // 须要把显示行数设置成无限制
    label.font = [UIFont systemFontOfSize:15];
    label.textAlignment = NSTextAlignmentCenter;
    label.text = @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
    CGSize size =  [self sizeWithString:label.text font:label.font];
    label.bounds = CGRectMake(0, 0, size.width, size.height);
    label.center = self.view.center;
    [self.view addSubview:label];
    
}
// 定义成方法方便多个label调用 添加代码的复用性
- (CGSize)sizeWithString:(NSString *)string font:(UIFont *)font
{
    CGRect rect = [string boundingRectWithSize:CGSizeMake(320, 8000)//限制最大的宽度和高度
                                       options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesFontLeading  |NSStringDrawingUsesLineFragmentOrigin//採用换行模式
                                    attributes:@{NSFontAttributeName: font}//传人的字体字典
                                       context:nil];
    
    return rect.size;
}





以上是关于ios之UILabel实现文本自适应方法的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发 UILabel实现自适应高宽

iOS 计算UILabel 文本高度问题

如何设置自适应多行 UILabel 文本?

ios开发之 自适应屏九宫格(第三方库Masonry)

iOS 根据给定宽度自适应文字大小

UILabel给文字增加内边距