iphone - 如何检查 heightForRowAtIndexPath 中的 UITableViewCell 是否不为零(已初始化)?

标签 iphone ios cocoa-touch uitableview

我有一个 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/

相关文章:

javascript - 从 objective-c 到Javascript WKWebkit AVPlayer通知游戏结束

ios - UIView 变透明后如何检测手势?

iphone - 绘制倒计时圆圈

ios - 在 iOS 中将 3 条线动画化为 uibutton 的箭头

iphone - 如何在不备份iPhone应用程序的情况下将AdHoc IPA文件安装到iPhone?

iphone - 如何根据当前日期获取下一个 15 天的日期?

iphone - iPad 应用强制旋转

iphone - UIScrollView 从导航 View 返回后重新定位

objective-c - 调用 sleep (5);并更新文本字段不起作用

objective-c - Leaks 在 iPad 上使用 CoreData 报告的真正奇怪的数据