swift - 在 Swift 中舍入表格单元格的高度
问题描述
我需要计算表格的单元格高度,并将其四舍五入为可除以 5 的值。例如,当单元格大小为 116 时,正确的高度应为 120。
关键是我使用自适应布局来计算单元格高度。UITableViewCell 的子视图之一是一条垂直虚线,应该连接到下面的单元格。虚线由 5 个点的重复组成 - 虚线(2 点)和间隙(3 点)。因此,线视图的高度应四舍五入到可被 5 整除的值,以便与下面的单元格虚线正确连接。
解决方案
假设您只想在值不是 5 的倍数时四舍五入,那么这样的事情很有用:我们需要专门向下舍入 CGFloat(这是 UIViews 衡量的):
let currentHeight = CGFloat(123.456)
let newHeight = ((currentHeight + 4.99) / 5).rounded(.down) * 5
=> 125
let currentHeight = CGFloat(125)
let newHeight = ((currentHeight + 4.99) / 5).rounded(.down) * 5
=> 125
我会将单元格的高度设置为五的倍数,并将虚线视图的高度设置为相同。(我认为这是你的意图,只是确保)。
不要忘记需要设置表格单元格的高度和tableCell.contentView的高度。另外,您需要让 UITableView 知道其布局的单元格的高度。
推荐阅读
- python - 在滚动函数上迭代窗口大小,附加到新的数据框?
- r - 通过 Rstudio 在远程服务器上运行 R 代码,而不是通过浏览器
- c# - Clr 如何知道类/字段定义的 il 代码在哪里?
- java - 如何使用 Project Reactor 设计/创建反应方法
- swiftui - 在 SwiftUI 中显示具有指定小数位的浮点数
- javascript - 如何知道 Javascript 中的哪些代码更改或访问了对象中的属性?不是 DOM 对象
- javascript - NodeJS中的可读连接流?
- reactjs - 为什么我的 getImageId 函数只在我的代码第一次运行时触发?
- linux - 尝试学习eBPF尾调用,无法附加kprobe
- grails - Grails 3 中的下拉列表