gpt4 book ai didi

ios - 在 TableView 的所有行中查找所有执行函数,而不是可见单元格

转载 作者:行者123 更新时间:2023-11-29 03:39:05 25 4
gpt4 key购买 nike

我的问题很清楚,

我有一个带注释的 UITableView 和 UIMapView,当在 map 上点击注释时,它将在表格上找到并被选择,因为用户可以识别它。

但是,如果我尝试某些仅在可见单元格中的操作,我将无法按预期进行操作。

 - (void)annotationTapped:(UITapGestureRecognizer *)recognizer{
if ( recognizer.state == UIGestureRecognizerStateEnded ) {

//NSLog(@"%@",[recognizer.view subviews]);

UIImageView *temp = (UIImageView*)[recognizer.view viewWithTag:1000];

UILabel *temp2 = (UILabel*)[temp viewWithTag:1001];

NSArray *tapAndFind;


if(isFiltered)
{
tapAndFind = filteredListContent;
}
else
{
tapAndFind = eczaneler;
}

for(int i=0;i<tapAndFind.count;i++)
{

Pharma *tempPharm = [tapAndFind objectAtIndex:i];

if([tempPharm.CustomerIndex isEqualToString:temp2.text])
{
EczaneCell *cell = (EczaneCell*)[tableView1 cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0]];




for(EczaneCell * cell2 in [tableView1 visibleCells])
{
cell2.selected = NO;
}


cell.selected = YES;

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:[tableView1 indexPathForCell:cell].row
inSection:[tableView1 indexPathForCell:cell].section];

[tableView1 scrollToRowAtIndexPath:indexPath
atScrollPosition:UITableViewScrollPositionTop animated:YES];

}
}

}
}

最佳答案

这是因为您的 UITableView 只是数据的呈现,而不是数据本身。因此,当您点击注释时,您应该以某种方式找到与数据的对应关系,即注释数据在集合中的位置。然后你可以计算/找出表中行的索引,然后你可以执行UITableViewscrollToRowAtIndexPath:atScrollPosition。或者,您可以标记单元格以使其易于区分。

在你的代码中

EczaneCell *cell = (EczaneCell*)[tableView1 cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0]];
当给定索引路径的单元格不可见时,

可以为单元格返回nil。这就是为什么您应该检查数据而不是表格单元格。

关于ios - 在 TableView 的所有行中查找所有执行函数,而不是可见单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18712025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com