本篇文章主要講關于ios動態設置lbl文字標簽的高度介紹,下面小編給大家介紹詳細的解決步驟。
?txtlbl.font = [UIFont boldSystemFontOfSize:14.0f];?
?? txtlbl.numberOfLines = 0;?
NSString *str = @"??????? 阿方決定設立科技特網絡離開電視劇分w額兩個大陸高科技了了不見了日i倒計時離開我說老師肯德基弗蘭克薩江東父老將費德勒說阿方決定設立科技特網絡離開電視劇分w額兩個大陸高科技了了不見了日i倒計時離開我立科說老師肯德基弗蘭克薩江東父老將費德勒說";
?? CGSize size = [str sizeWithFont:txtlbl.font constrainedToSize:CGSizeMake(txtlbl.frame.size.width, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];
?? //根據計算結果重新設置txtlbl的尺寸
?? [txtlbl setFrame:CGRectMake(7, 0, 310, size.height)];
?? txtlbl.text = str;
?
方法二:
?
? // iOS7_API_根據文字 字數動態確定Label寬高
??? // 設置Label的字體 HelveticaNeue? Courier
??? UIFont *fnt = [UIFont fontWithName:@"HelveticaNeue" size:24.0f];
??? _nameLabel.font = fnt;
??? // 根據字體得到NSString的尺寸
??? CGSize size = [_nameLabel.text sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:fnt,NSFontAttributeName, nil]];
??? // 名字的H
??? CGFloat nameH = size.height;
??? // 名字的W
??? CGFloat nameW = size.width;
??? _nameLabel.frame = CGRectMake(0, 0, nameW,nameH);
?
方法三:
?
??? // 寬度W
??? CGFloat contentW = self.bounds.size.width - _content.frame.origin.x - kMargin;
??? // label的字體 HelveticaNeue? Courier
??? UIFont *fnt = [UIFont fontWithName:@"HelveticaNeue" size:18.0f];
??? _content.font = fnt;
??? _content.numberOfLines = 0;
??? _content.lineBreakMode = NSLineBreakByWordWrapping;
??? // iOS7中用以下方法替代過時的iOS6中的sizeWithFont:constrainedToSize:lineBreakMode:方法
??? CGRect tmpRect = [_content.text boundingRectWithSize:CGSizeMake(contentW, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:fnt,NSFontAttributeName, nil] context:nil];
???
??? // 高度H
??? CGFloat contentH = tmpRect.size.height;
??? NSLog(@"調整后的顯示寬度:%f,顯示高度:%f"contentW,contentH);
??? _content.frame = CGRectMake(0, 0, contentW,contentH);
? ? ?以上就是關于ios動態設置lbl文字標簽的高度介紹,希望小編整理的相關知識和資料都對你們有所幫助,更多內容請繼續關注武林技術頻道網站!