Swift iOS tableView static cell动态计算高度
2024-10-01 19:53:57
TableView是iOS开发中经常使用的组件。有些表格由于UILabel包括的文本字数不一样,须要显示的高度也会不同,因此须要动态计算static cell的高度。我用的是static cell,注意每行的高度都须要指定,默认样式的cell高度是44,第三行(row == 2)进行了动态计算。第四行须要依据是否有内容推断是否显示,没有则返回高度0。
依据实际尝试和查看国外文章。发现
func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) 对于静态表格好像没有作用。也有可能是我没有弄清楚正确使用方法。
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if indexPath.row == 2 {
return heightForView(task.summary!, font: UIFont(name: "Helvetica", size: 15.0)!, width: 340) + 30
} else if indexPath.row == 3 {
if task.type == TaskType.TYPE_PLAN.rawValue {
if let descr = task.descr {
return heightForView(descr, font: UIFont(name: "Helvetica", size: 15.0)!, width: 340) + 30
}
} else {
return 0
}
} else if indexPath.row == 4 {
return 110
} return 44
} // 计算高度
func heightForView(text:String, font:UIFont, width:CGFloat) -> CGFloat{
let label:UILabel = UILabel(frame: CGRectMake(0, 0, width, CGFloat.max))
label.numberOfLines = 0
label.lineBreakMode = NSLineBreakMode.ByWordWrapping
label.font = font
label.text = text label.sizeToFit()
return label.frame.height
}
最新文章
- AVL树的平衡算法(JAVA实现)
- MongoDB导入(mongoimport)-导出(mongoexport)工具使用
- ORA-29857: domain indexes and/or secondary objects
- ubuntu环境变量添加变量
- 完成端口(IOCP)怎么判断某个连接是否断开
- 【Android动画】之Tween动画 (渐变、缩放、位移、旋转)
- _itemFailedToPlayToEnd: { kind = 1; new = 2; old = 0; }
- perl post 带上请求头
- javascript中类式继承和原型式继承的实现方法和区别
- HDU - 1035
- JUnit介绍(转)
- 从json-lib转成jackson的遇到的问题
- 同一个世界(erlang解题答案)
- SQLQueryStress
- 利用C#进行AUTOCAD的二次开发
- PHP快速排序(递归)
- 从命令行模式运行Windows管理工具。
- 解决KVM中宿主机通过console无法连接客户机
- javascript:base.superclass.constructor.call(this,config)
- linux进程概论
热门文章
- 【Henu ACM Round #13 D】A Trivial Problem
- 【2017 Multi-University Training Contest - Team 1 1002】Balala Power!
- NStimer 被堵塞
- Bounding Volume Hierarchy BVH in OpenCASCADE
- POJ 1328 Radar Installation 贪心题解
- app 设计原则 ,步骤
- 基于x86平台的Solaris安装视频(时长25分钟)
- Android Gson解析json工具类封装
- API(Application Programming Interface,应用程序编程接口)
- javafx checkbox