繁体   English   中英

在 swift 5 中更改 UITableView 中的单元格大小

[英]change cell size in UITableView in swift 5

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

iPhone 11 专业版

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

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

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

非常感谢!

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

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 中,您可以执行相同的操作并控制高度...

希望能帮助到你 (:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM