【问题标题】:change cell size in UITableView in swift 5在 swift 5 中更改 UITableView 中的单元格大小
【发布时间】:2020-07-13 11:00:20
【问题描述】:

我正在使用表格视图来显示位置列表。 由于某种原因,单元格没有一直延伸到视图的每一侧(即使它本身是表格视图)。 当我在 iPhone 11 Pro 上启动模拟器时,单元格确实会拉伸,但分隔符从距离边缘 10p 开始,并在另一边结束。与 iPhone 11 Pro max 一样,它从同一位置开始,但在边缘之前 20p 左右结束。 我如何监控它,以便所有屏幕都相同? (我希望它从 10p 开始并在 10p 之前结束) 图片已添加:

这些是 iPhone 11 Pro 上的单元格,您可以看到分隔线一直延伸到最后

这些是 iPhone 11 Pro Max 上的单元格,您可以看到线的末端距离边缘大约 20p。此外,与屏幕尺寸相比,它自身的单元格更小

我希望它位于介于两者之间的某个位置,单元格在整个屏幕上,分隔线从 10p 开始,到 10p 结束,均匀。 为了清楚起见,我正在使用情节提要,并且它自身的 tableview 具有与 superview 的尾随和前导相等的约束。

非常感谢!

【问题讨论】:

标签: ios swift xcode tableview


【解决方案1】:

我建议为分隔符创建一个特殊的单元格。 这样,您将能够控制颜色高度等等! 在这种情况下,使用 enum 非常有用,您只需在每个实际单元模型之间添加一个分隔符模型...

var data: [CellEnumModel]
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
   let model = data[indexPath.row]
   switch model {
     case .data(let data):
       let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: MessageCell.self)
       ...
     case .sep(let color):
       let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: SepCell.self)
       ...
}

而在 UITableViewDelegate 中,例如,你可以做同样的事情并控制高度...

希望对你有帮助(:

【讨论】:

    猜你喜欢
    • 2012-09-27
    • 2011-07-16
    • 2014-07-14
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    相关资源
    最近更新 更多