如果我的数据模型中的某个属性为nil
,我想知道从堆栈视图中删除视图的最简洁方法是什么。我有一个由原型单元填充的表视图。它们看起来像这样:
第二个标签文本包含可选值nil
;如果它是零,我想隐藏标签。我应该在removeArrangedSubview
表格视图单元格方法内部调用cellForRow
,还是在CustomTableViewCell
类中调用函数?
答案 0 :(得分:1)
如果[可选值]为
,我想隐藏标签nil
您应该将标签的hidden
属性设置为true
,而不是将其从排列的堆栈布局子视图列表中删除,以避免在单元格重新用于其他行时将其添加回来
这主要是你喜欢的地方。如果您的大部分单元格设置代码都在cellForRow
函数中,那么您应该隐藏和取消隐藏该函数的标签:
if let labelText = model.getTextForMyLabel(indexPath.row) {
cell.label.text = labelText
cell.label.hidden = false
} else {
cell.label.hidden = true
}
如果您的CustomTableViewCell
代码中有标签文字设置器,则可以使用相同的方法设置标签hidden
属性及其text