// 实际问题
在使用与 nib 中指定的单元格标识符不同的单元格标识符加载 nib 文件(tableviewcell)时,我需要帮助。
// 我正在做的事情的背景
我有一个自定义 UITableViewCell,其中包含少量标签、少量图像和少量按钮。所有这些都放在一个 nib 文件中。表格视图单元格的内容需要根据某些条件动态更改,即如果横向则不显示按钮;如果标签中没有要显示的内容,则不显示标签等。左侧的相邻标签/视图应扩展以填充缺少的标签/按钮的空间。
我能够让它工作。我这样做的方法是在cellForRowAtIndexPath
I
- 删除不需要显示的视图,removeFromSuperView
并通过
- 调整frame
并调用setNeedsDisplay
需要调整的视图。
我使用 nib 文件中提到的相同单元格标识符来使单元格出列。如果返回的单元格为 nil,那么我使用loadNibNamed:withOwner:options
加载笔尖。但是,我担心这会在来回滚动时导致问题,因为当条件不满足时,被重用的单元格可能没有显示内容所需的视图,因为它们可能已经被删除。
为了解决这个问题,我计划对不同的条件使用不同的单元格标识符,这些条件会触发单元格的不同外观。或者,我也在考虑只隐藏视图并将相邻视图扩展到隐藏视图。这样我就不需要处理不同的单元格标识符。
Edit2:
我隐藏和调整相邻视图框架的替代方法满足了我的需要。
但是我仍然想找到我上面描述的实际问题的答案。
// 潜在的解决方案
我想知道是否可以通过函数的options
参数将单元格标识符传递给 nib 加载代码loadNibNamed
。这可能吗?如果你们能提供一个示例代码来实现这一点,那就太棒了。
谢谢你的时间。