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;}}
相关文章推荐
- String,StringBuilder,StringBuffer
- BuildConfig.DEBUG
- 61. Implement Stack using Queues
- NGUI Button禁用(isEnabled和SetState区别)
- leetcode 62. Unique Paths
- C#--SelectedIndexChanged事件, SelectedValueChanged事件和SelectionChangeCommitted事件的区别及联系
- 60. Implement Queue using Stacks
- UI基础整理-19
- iOS开发之自定义输入框(利用UITextField及UITextView)
- UI基础整理--18
- Activity中UI框架基本概念
- JavaSE007_循环结构之continue
- Epic Games资深程序工程师王祢: 使用UE4制作VR内容的优化
- UI基础整理-17
- UI基础整理-16
- 【String、StringBuffer和StringBuilders】
- UI基础整理-15
- UI基础整理-14
- hdu 1242 Rescue
- Android应用UI设计流程