美文网首页iOS劝退指南
UILabel自适应高度并换行

UILabel自适应高度并换行

作者: MccReeee | 来源:发表于2016-12-16 11:31 被阅读51次
     UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 50)];
        label.text = @"今天下午全市多云到阴有阵雨或雷雨,今天夜里到明天阴有阵雨,雨量可达大雨。 东北风5-6级阵风7级,逐渐增强到6-7级阵风8级。 今天最高气温:26左右, 明晨最低气温:22左右。 今晨最低气温:21。 今日紫外线等级:2级,照射强度弱,适当防护。 明日洗车指数:4级,天气有雨,不宜洗车。";
    //    label.text = @"今天下午全市多云到阴有阵雨或雷雨,今天夜里到明天阴有阵雨,雨量可达大雨。 东北风5-6级阵风7级,逐渐增强到6-7级阵风8级。";
        //清空背景颜色
        label.backgroundColor = [UIColor clearColor];
        //设置字体颜色为白色
        label.textColor = [UIColor whiteColor];
        //设置label的背景色为黑色
        label.backgroundColor = [UIColor blackColor];
        //文字居中显示
        label.textAlignment = UITextAlignmentCenter;
        //自动折行设置
        label.lineBreakMode = UILineBreakModeWordWrap;
        label.numberOfLines = 0;
    
        //自适应高度
        CGRect txtFrame = label.frame;
    
        label.frame = CGRectMake(10, 100, 300,
                                 txtFrame.size.height =[label.text boundingRectWithSize:
                                                        CGSizeMake(txtFrame.size.width, CGFLOAT_MAX)
                                                                                options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading
                                                                             attributes:[NSDictionary dictionaryWithObjectsAndKeys:label.font,NSFontAttributeName, nil] context:nil].size.height);
        label.frame = CGRectMake(10, 100, 300, txtFrame.size.height);
        label.textAlignment = NSTextAlignmentLeft;
        [self.view addSubview:label];
    

    相关文章

      网友评论

        本文标题:UILabel自适应高度并换行

        本文链接:https://www.haomeiwen.com/subject/lbjnmttx.html