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

本文共 1422 字,大约阅读时间需要 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    }

转载于:https://www.cnblogs.com/llguanli/p/7132225.html

你可能感兴趣的文章
unbuntu 安装一些常用软件
查看>>
软件工程实践第二次作业
查看>>
ansible入门01
查看>>
Rails 自定义验证的错误信息
查看>>
图论(对偶图):COGS 470. [NOI2010]海拔
查看>>
第三方类AFNetworking
查看>>
Enterprise Library 2.0 -- Cryptography Application Block
查看>>
简单的发邮件功能实现
查看>>
velocity模板引擎学习(3)-异常处理
查看>>
OllyDBG 1.10
查看>>
[svc][op]杀进程
查看>>
linux安装jdk
查看>>
求1+2+3+...+n
查看>>
[EXP]Microsoft Windows CONTACT - Remote Code Execution
查看>>
【面试】MySQL 中NULL和空值的区别?
查看>>
用js判断 iPhone6 iPhone6 plus iphonex?
查看>>
NOIp2016 蚯蚓 【二叉堆/答案单调性】By cellur925
查看>>
NOIp知识集合 By cellur925
查看>>
Nginx设置日志分割方法
查看>>
教学目标的表述方式──行为目标的ABCD表述法
查看>>