您的位置:首页 > 产品设计 > UI/UE

UI之Label自适应高度和宽度

2016-01-22 22:17 375 查看
- (void)showData:(Chat *)chat {
//修改contentLabel高度
//字符串的方法, 得现有字符串, 本方法中为<span style="font-family: Menlo;">chat.content</span>
NSDictionary *dic = @{NSFontAttributeName: [UIFont systemFontOfSize:17]};
CGRect rect = [chat.content boundingRectWithSize:CGSizeMake(kScreenWidth - kmargin * 2, 0) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:dic context:nil];
CGRect frame = self.contentLabel.frame;
//修改frame坐标和高度值
frame = CGRectMake(kmargin, kmargin * 2 + kNameLabelHeight, kScreenWidth - kmargin * 2, rect.size.height);
self.contentLabel.frame = frame;
//若行高只有一行<span style="font-family: Menlo;">修改contentLabel宽度</span>if (frame.size.height < 21) {//数值21, 因为对应字体上打印出来的一行行高为20-21NSDictionary *dic1 = @{NSFontAttributeName: [UIFont systemFontOfSize:17]};CGRect rect1 = [chat.content boundingRectWithSize:CGSizeMake(0, frame.size.height) options:NSStringDrawingUsesDeviceMetrics |  NSStringDrawingTruncatesLastVisibleLine attributes:dic1 context:nil];CGRect frame1 = self.contentLabel.frame;
        //修改frame1宽度frame1.size.width = rect1.size.width;//修改frame1x坐标frame1.origin.x = 375 - rect1.size.width - 10;self.contentLabel.frame = frame1;}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: