我正在使用原型细胞计算真实细胞高度。由于我使用的是故事板,因此我选择通过dequeing来创建原型单元。示例代码:
- (MyCell *)prototypePriceOptionCell
{
if (_prototypeCell == nil) {
_prototypeCell = (MyCell *)[self.tableView dequeueReusableCellWithIdentifier:cellIdentifier];
}
return _prototypePriceOptionCell;
}
此原型永远不会在tableView
方法中返回cellForRowAtIndexPath
。
是否可以通过表视图来重用它并在表视图中显示它?
答案 0 :(得分:0)
从技术上讲,您可以docs:
如果您为指定的标识符和新单元格注册了一个类 必须创建,此方法通过调用它来初始化单元格 initWithStyle:reuseIdentifier:方法。对于基于笔尖的细胞,这个 方法从提供的nib文件加载单元格对象。如果 现有的单元可以重用,这种方法称为单元 而不是prepareForReuse方法。
但它也表示在某些情况下它可以返回零。 但是,我不会使用你的方法,不是因为它不起作用,而是因为它不应该像那样使用。这意味着您依赖于不应该像这样使用的功能的弱代码。
我的建议是,手动调用适当的方法来实例化你的单元格。此外,我喜欢将我的单元格放在单独的xib上,远离故事板。
修改强>
最后回答你的问题,是的,如果你在cellForRowAtIndexPath