【发布时间】:2020-08-26 13:36:35
【问题描述】:
我有一个 UITableView,它带有一个作为 NIB 实现的自定义 UITableViewCell。自定义单元格包括 UILabel 和 UIView(ala 新电子邮件/消息指示器)。在cellForRowAt 中,我将标签设置为一些文本并隐藏 UIView,但将其isHidden 属性设置为 false。结果是一个行列表,其中只有一行文本。但是,如果我将屏幕旋转到横向,然后再转回纵向,那么在横向中不可见但现在纵向显示的几行的 UIView 可见!如果这些行从视图中滚动并返回到视图中,则 UIView 将按预期隐藏。我可以在一个非常简单的示例中重新创建此问题,其中
UIViewController UITableViewleading=0, trailing=0, top=0, bottom=0
UITableViewCell UIStackView - 轴=水平,对齐=中心,分布=填充,前导=0,尾随=0,顶部=0,底部=0 UIL标签 UIView - 宽度=10,高度=10
对这种行为的原因有什么想法吗?我尝试在cellForRowAt 中设置cell.layoutIfNeeded(),但没有成功。
根据要求附上cellForRowAt 代码。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "TableViewCell", for: indexPath) as! TableViewCell
cell.titleLabel.text = dataSource[indexPath.row]
cell.indicatorView.isHidden = true
return cell
}
【问题讨论】:
-
可能由于单元格可重用性,请在此处附上您的 cellForRowAt 委托方法代码
-
@DharaPatel 应要求将代码包含在帖子中。
-
只是为了测试,您能否检查一下在您的 cellForRowAt 方法中添加 cell.indicatorView.isHidden = false 并测试它的行为
-
@DharaPatel 你的意思是把它设置为
true吗?如果cell.indicatorView.isHidden = true行为与帖子相同。如果cell.indicatorView.isHidden = false每一行的视图都按预期可见。 -
cell.indicatorView.isHidden = true 对于所有条件?
标签: ios swift uitableview