我有一个 UITableViewCell
,我需要在用户输入时调整它的大小。该单元格有一个 UITextView
作为 subview 。
在 heightForRowAtIndexPath 内部,我需要检查当前单元格是否为 nil 或已初始化。
如果它为零,我会根据字符串属性中的文本计算它的高度。
如果它不是 nil(即已初始化),我希望它检索单元格 subview 的文本属性(我知道如果单元格已初始化我可以访问它)。
如何检查 heightForRowAtIndexPath:
中的 UITableViewCell 是否为 nil? 我试过了
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([overviewTableView cellForRowAtIndexPath:indexPath] !=nil)
{ NSLog(@"YEEHAW!");
}
}
但它会导致错误(可能是因为 cellForRowAtIndexPath:
期望单元格被初始化,而不是 nil)。另外,我注意到 cellForRowAtIndexPath:
调用 heightForRowAtIndexPath:
(导致递归循环)。
我在网上看到过很多“替代方案”,但我只是想知道这种方法是否可行(或者是否有效)。
提前致谢!
最佳答案
您可以检查感兴趣的单元格的 indexPath
是否可见:
if ([[overviewTableView indexPathsForVisibleRows] containsObject:indexPath])
{
//Do something here
}
希望这对您有所帮助!
关于iphone - 如何检查 heightForRowAtIndexPath 中的 UITableViewCell 是否不为零(已初始化)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12306865/