如何检测UItableview中显示的行

时间:2011-06-01 09:14:04

标签: iphone objective-c cocoa-touch

我想更新accessoryViews中的UITableView,但只更新用户实际可以看到的行。如何检测屏幕上实际显示哪些行?

4 个答案:

答案 0 :(得分:2)

使用UITableview实例方法-visibleCells

visibleCells
     

返回表格单元格   在接收器中可见。

- (NSArray *)visibleCells
     

返回值

     

包含UITableViewCell的数组   每个对象,代表一个可见的   接收表视图中的单元格。

     

<强>状况

     

适用于iOS 2.0及更高版本。

答案 1 :(得分:0)

UITableView有-visibleCells方法 - 它返回当前可见单元格的NSArray

答案 2 :(得分:0)

为您想要不添加附件的行实现此功能。

-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath {

NSUInteger row = [indexPath row];
if (row == 0||row == 2)
    return nil;
return indexPath;
}

答案 3 :(得分:0)

不要认为您确实需要检测可见行以更新accessoryViews。您可以在tableView:cellForRowAtIndexPath:数据源方法中实现它。

但是如果你想获得可见的行,你可以使用

- (NSArray *)visibleCells