swift - 在 Swift 中舍入表格单元格的高度

标签 swift uitableview adaptive-layout

我需要计算表格的单元格高度并将其四舍五入为能被5整除的值。例如,当单元格大小为116时,正确的高度应为120。

关键是我使用自适应布局来计算单元格高度。 UITableViewCell 的 subview 之一是一条垂直虚线,它应该连接到下面的单元格。虚线由 5 个点的重复组成 - 破折号(2 分)和间隙(3 分)。因此,线 View 的高度应四舍五入为可被 5 整除的值,以便与下方单元格的虚线正确连接。

Two cells with connected dashed line

最佳答案

假设您只想在值不是 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

我会将单元格的高度设置为五的倍数,并将虚线 View 的高度设置为相同。 (我认为这就是您的意图,只是确定一下)。

不要忘记您需要设置表格单元格的高度tableCell.contentView 的高度。另外,您需要让 UITableView 知道其布局的单元格高度。

关于swift - 在 Swift 中舍入表格单元格的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51114406/

相关文章:

ios - 如果已经选择了 UITableViewCell,不要继续执行?

ios - Swift 搜索导航项未更新

swift - 如何创建 Realm 列表的扩展?

ios - 运行 pod update 后构建失败

ios - 如何强制 uitableview 调整单元格的大小(在停用高度限制后)?

ios - 表格 View 不删除内容

ios - 如何更改 iOS 8 中 NSLayoutConstraint 的 'mutiplier' 属性的值

ios - 将 UITableView 的高度调整为仅适合总内容大小所需的高度

ios - Xcode7 上的自动布局