標籤:
適用於iOS6以後
NSString *tip = @"UILable高度自適應,UILable高度自適應,UILable高度自適應";UILabel label_2 = [[UILabel alloc] initWithFrame:CGRectMake(20, 100, 200, 30)];label_2.font = [UIFont systemFontOfSize:15];label_2.lineBreakMode = NSLineBreakByCharWrapping;// 設定行數label_2.numberOfLines = 0; [label_2 setText:tip];[self.view addSubview:label_2]; // 計算高度CGFloat height = [tip sizeWithFont:[UIFont systemFontOfSize:15] constrainedToSize:CGSizeMake(100, MAXFLOAT) lineBreakMode:NSLineBreakByCharWrapping].height; // 重新改變label_2的frameCGRect rect = label_2.frame;rect.size.height = height;label_2.frame = rect;
label_2.lineBreakMode =NSLineBreakByCharWrapping;//其中lineBreakMode可選值為
linBreakMode enum{
NSLineBreakByWordWrapping = 0, //保留整個單詞,以空格為邊界
NSLineBreakByCharWrapping, //保留整個字元 NSLineBreakByClipping, //以邊界為止 NSLineBreakByTruncatingHead, //省略開頭,以省略符號代替 NSLineBreakByTruncatingTail, //省略結尾,以省略符號代替 NSLineBreakByTruncatingMiddle //省略中間,以省略符號代替}
iOS UILable高度自適應