[英]change cell size in UITableView in swift 5
我正在使用表视图来显示位置列表。 出于某种原因,单元格没有一直拉伸到视图的每一侧(即使它本身就是表视图)。 当我在 iPhone 11 Pro 上启动模拟器时,单元格确实会拉伸,但分隔符从距离边缘 10p 开始,并在另一边缘结束。 与 iPhone 11 Pro max 一样,它从同一个位置开始,但在边缘前 20p 左右结束。 我怎样才能监视它,以便所有屏幕都相同? (我希望它从 10p 开始并在 10p 之前结束)添加图片:
这些是 iPhone 11 Pro 上的单元格,你可以看到分隔线一直延伸到最后
这些是 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.