iOS中文本自适应高度显示完所有文字

来源:互联网 发布:淘宝血滴子京东 编辑:程序博客网 时间:2024/04/27 18:48

/*---------- 文本自适应高度 -----------*/

    UILabel * descritionLabel = [[UILabelalloc] initWithFrame:CGRectMake(0,0, 220,300)];    

    NSString * desText =@"乔布斯是改变世界的天才,他凭敏锐的触觉和过人的智慧,勇于变革,不断创新,引领全球资讯科技和电子产品的潮流,把电脑和电子产品不断变得简约化、平民化,让曾经是昂贵稀罕的电子产品变为现代人生活的一部分。";

    descritionLabel.text = desText;

    descritionLabel.backgroundColor = [UIColoryellowColor];

    descritionLabel.textColor = [UIColorcolorWithRed:11/255.0green:179/255.0blue:252/255.0alpha:0.9];

    descritionLabel.font = [UIFontsystemFontOfSize:20];

    descritionLabel.lineBreakMode =NSLineBreakByTruncatingHead;//设置换行模式

    descritionLabel.numberOfLines =0; //设置文本行数为0时则不限制

    CGSize contanSize =CGSizeMake(280,400);//大小约束

   //获取能显示完文本的大小

    CGRect autoRect = [desTextboundingRectWithSize:contanSize options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeadingattributes:@{NSFontAttributeName:descritionLabel.font}context:nil];

    //用获取的大小重新设置frame

    descritionLabel.frame =CGRectMake(50,460, 280, autoRect.size.height);

    

    [self.viewaddSubview:descritionLabel];

效果图如下所示:


0 0
原创粉丝点击