UILabel 高度的自适应与获取
2016-06-08 20:48
489 查看
最近需要做一个自定义UILabelView列表,
UILabelView 的Cell中有字符长度不确定的UILabel标签。只有获取了这个标签的高度,我们才能确定Cell的高度。
通过查询资料,找到了解决办法。
以下是实现后的效果图:
以下是相关代码
以上代码,只演示UILabel处理的相关代码。并未进行封装。如果看到这篇博文的人想用,可以自行封装。
UILabelView 的Cell中有字符长度不确定的UILabel标签。只有获取了这个标签的高度,我们才能确定Cell的高度。
通过查询资料,找到了解决办法。
以下是实现后的效果图:
以下是相关代码
UILabel *label; NSString *text; label = [UILabel new]; text = @"这是一个测试文本 This is a test text"; label.text = text; label.lineBreakMode = UILineBreakModeWordWrap; label.numberOfLines = 0; UIFont *font = [UIFont fontWithName:@"Arial" size:14]; label.font = font; CGSize size = CGSizeMake(SCREENWIDTH-20, CGFLOAT_MAX);//SCREENWIDTH 是我define的屏幕宽度,你可以自己设置想要的宽度 CGSize labelSize = [text sizeWithFont:font constrainedToSize:size lineBreakMode:label.lineBreakMode];//算出了我们需要的(label的)CGSize; //设置label的frame label.frame = CGRectMake(5,5,labelSize.width,labelSize.height); //如果我们获取UILabel的高度,则将labelSize.height返回就行 return labelSize.height;
以上代码,只演示UILabel处理的相关代码。并未进行封装。如果看到这篇博文的人想用,可以自行封装。
相关文章推荐
- QtQuick折腾结论之model delegate 的正确使用姿势
- IOS 多线程02-pthread 、 NSThread 、GCD 、NSOperationQueue、NSRunLoop
- QtQuick排坑(不定时更新)
- POJ 2524 Ubiquitous Religions
- 2016 UESTC Training for Math Problem E- 蹲在墙角画圈圈的愚人王
- LeetCode:N-Queens
- 在Qt中生成UUID(全球唯一码)
- vue 多项目 依赖webpack开发共用 配置
- poj1458Common Subsequence--LCS
- LeetCode:N-Queens II
- 有关StringBuilder字符串的一些应用
- Looper、Message、MessageQueue、Handler异步消息处理机制源码分析
- 检测预设资源是否有UIFont为空的编辑器
- Android学习之图解调用invalidate()和requestLayout()的过程
- Parquet 读写
- 栈(stack)和队列(queue)的简单实例
- UIAlertController
- UIView的drawRect调用时机和条件
- 栈和队列的简单实例
- RequireJS入门(一)