如何知道UITableView.visibleCells的索引路径?

时间:2011-11-30 06:29:34

标签: ios objective-c uitableview

NSArray * arrayOfVisibleTVC=[BNUtilitiesQuick ListController].tableViewA.visibleCells;
NSLog(@"array : %@", arrayOfVisibleTVC);

将显示

"<UITableViewCell: 0x76c22a0; frame = (0 0; 320 75); autoresize = W; layer = <CALayer: 0x76bf770>>",
"<UITableViewCell: 0x76cfec0; frame = (0 75; 320 75); autoresize = W; layer = <CALayer: 0x769d260>>",
"<UITableViewCell: 0xe245f70; frame = (0 150; 320 75); autoresize = W; layer = <CALayer: 0xe245ed0>>",
"<UITableViewCell: 0xe248980; frame = (0 225; 320 75); autoresize = W; layer = <CALayer: 0xe2488c0>>",
"<UITableViewCell: 0xe24afa0; frame = (0 300; 320 75); autoresize = W; layer = <CALayer: 0xe24aee0>>"

并使用此

UITableViewCell * lastObjectOfArray=arrayOfVisibleTVC.lastObject;
int indexpathLastObject= (lastObjectOfArray.frame.origin.y/new.frame.size.height);

我知道用于获取indexpath的arrayOfVisibleTVC.lastObject的最后一个。但我认为还有另一种方法可以获得TableViewcell的索引路径,显示任何人都可以帮助我吗?

所以我可以将单元格的索引路径作为整数

2 个答案:

答案 0 :(得分:51)

这是UITableView类中的方法:

<强>目标c

- (NSArray *)indexPathsForVisibleRows

<强>夫特

public var indexPathsForVisibleRows: [NSIndexPath]? { get }

答案 1 :(得分:9)

UITableView有一个方法来查找单元格的indexPath:

- (NSIndexPath *)indexPathForCell:(UITableViewCell *)cell

只需遍历可见单元格数组并传递每个单元格以获取索引路径。

for (UITableViewCell *cell in arrayOfVisibleTVC) {
  NSIndexPath *path = [[BNUtilitiesQuick ListController].tableViewA indexPathForCell:cell];
  NSLog(@"%@", path);
}