UILabel自适应里面的文字,自动调整宽度和高度

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)]; // frame之后会重置size。
    [label setNumberOfLines:0]; // 允许多行显示
    NSString *textStr = @" 高考结束后即将步入大学的莘莘学子们,用90后特有的方式“期待”了自己的大学生活。被即将升级到大二的学长们看到,对于新生们的嚣张憧憬“湿兄”并不表示支持。以过来人的身份告诫“新生别嚣张”并在校园里的各个角落拍摄了一组图片。 整篇微博内容除了告诫新生别嚣张外,还用漫画的形式委婉的告诉“湿弟们”:学长不好惹、学姐不好泡、学长高富帅。这些都是学长以大一过来人的身份体验过的感觉。如此的以身试教果真是“真爱”。";
    UIFont *font =  [ UIFont systemFontOfSize : 15 ];
    CGSize size = CGSizeMake(320,2000); // 高度自适应,允许设置无限大
    CGSize lblSize = [ textStr sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap];
    label.frame = CGRectMake(0.0, 0.0,  lblSize.width, lblSize.height );
    label.backgroundColor = [UIColor redColor];
    label.textColor = [UIColor whiteColor];
    label.text = textStr;
    label.font = font;   
   CGSize singleLineSize = [ textStr  sizeWithFont:font]; //  获取textStr写进单行的宽度与高度:

你可能感兴趣的:(iOS)