ios - 为行数有限的 UITableView 禁用虚拟化(单元重用)
<p><p>我有一个行数有限的 <code>UITableView</code>(比如说 20-30)。
是否可以禁用单元重用?</p>
<p> <a href="https://stackoverflow.com/questions/6443533/disable-cell-reuse-for-small-fixed-size-uitableview" rel="noreferrer noopener nofollow">Most of solutions</a>建议不要调用<code>dequeueReusableCellWithIdentifier</code>。
但在这种情况下,每次 <code>UITableViewSource</code> 需要新单元格时 - 都会创建该单元格的新实例。</p>
<p>我想要的是,一旦我一直向下滚动并看到所有 20-30 个单元格,在返回的路上不应创建新单元格。</p>
<p>有可能吗?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>即使您使用唯一标识符,也不能指望重用池大小足以存储您尝试执行的 20-30 个唯一单元格。</p>
<p>您需要在数组或字典中保存自己对单元格的引用,并使用它来获取 <code>cellForRowAtIndexPath</code> 中的单元格 - 例如 -</p>
<pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *cellIdentifier=;
UITableViewCell *cell=self.cellDictionary;
if (cell == nil) {
cell=[init];// Do whatever is required to allocate and initialise your cell
self.cellDictionary=cell;
}
// Any other cell customisation
return cell;
}
</code></pre>
<p>除非创建单元非常昂贵,否则重复使用通常是更好的方法</p></p>
<p style="font-size: 20px;">关于ios - 为行数有限的 UITableView 禁用虚拟化(单元重用),我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/26329332/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/26329332/
</a>
</p>
页:
[1]