3

我有一个UITableViewCell我需要在用户类型时调整大小。该单元格有一个UITextView作为子视图。

在 heightForRowAtIndexPath 中,我需要检查当前单元格是否为 nil 或已初始化。

如果它为零,我会根据字符串属性中的文本计算它的高度。

如果它不是 nil(即已初始化),我希望它检索单元格子视图的 text 属性(我知道如果单元格已初始化,我可以访问它)。

如何检查 UITableViewCell 是否为零heightForRowAtIndexPath:我试过

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([overviewTableView cellForRowAtIndexPath:indexPath] !=nil)
    {    NSLog(@"YEEHAW!");
    }
}

但它会导致错误(可能是因为cellForRowAtIndexPath:期望单元格被初始化,而不是零)。另外,我注意到cellForRowAtIndexPath:调用heightForRowAtIndexPath:(导致递归循环)。

我在网上看到了许多“替代方案”,但我只是想知道这种方法是否可行(或根本有效)。

提前致谢!

4

1 回答 1

6

您可以检查indexPath感兴趣的单元格是否可见:

if ([[overviewTableView indexPathsForVisibleRows] containsObject:indexPath])
{
    //Do something here
}

希望这可以帮助!

于 2012-09-06T19:22:08.093 回答