Ответ 1
Вот метод в классе UITableView:
objective-c
- (NSArray *)indexPathsForVisibleRows
Swift
public var indexPathsForVisibleRows: [NSIndexPath]? { get }
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);
Я знаю последний из arrayOfVisibleTVC.lastObject, который я использую, чтобы получить индексный путь. но я думаю, что есть еще один способ получить индексный указатель TableViewcell, который показал... любой может мне помочь?
поэтому я могу получить индексный путь ячейки как целого
Вот метод в классе UITableView:
objective-c
- (NSArray *)indexPathsForVisibleRows
Swift
public var indexPathsForVisibleRows: [NSIndexPath]? { get }
UITableView имеет метод для поиска indexPath ячейки:
- (NSIndexPath *)indexPathForCell:(UITableViewCell *)cell
Просто перебирайте массив видимых ячеек и передайте каждую ячейку, чтобы получить указательный путь.
for (UITableViewCell *cell in arrayOfVisibleTVC) {
NSIndexPath *path = [[BNUtilitiesQuick ListController].tableViewA indexPathForCell:cell];
NSLog(@"%@", path);
}