博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift iOS tableView static cell动态计算高度
阅读量:6680 次
发布时间:2019-06-25

本文共 1370 字,大约阅读时间需要 4 分钟。

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    }

转载地址:http://etnao.baihongyu.com/

你可能感兴趣的文章
盘点互联网巨头奉献的十大开源安全工具[转]
查看>>
UISegmentedControl
查看>>
FileUtils工具类的使用
查看>>
VS2010 + WinDDK 搭建驱动开发环境(转)
查看>>
程序员找不女朋友的原因
查看>>
[摘录]第3章 终局谈判策略
查看>>
react-router中的路由钩子使用
查看>>
C#编程之“串口通讯多次接收”
查看>>
【python 文件操作】python 文件操作
查看>>
线程相关
查看>>
linux下svn服务器配置问题
查看>>
《自我介绍》
查看>>
【C语言】20-static和extern关键字2-对变量的作用
查看>>
使用mpvue开发github小程序总结
查看>>
用表格给表单定位
查看>>
Redis
查看>>
Intent-filter的介绍
查看>>
开博说明
查看>>
Scala方法定义,方法和函数的区别,将方法转换成函数
查看>>
Hbase 读写 原理
查看>>