我试图在heightForRowAtIndexPath
中调用一个函数,该函数在该单元格内隐藏和显示视图,但是我不情愿地创建了一个无限循环。请指出问题所在以及如何解决。heightForRowAtIndexPath
中的功能
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
NSLog(@"indexrow = %ld \n pre = %d\n sel = %d \n",(long)[indexPath row],previousselectedcell,selectedcell);
if([indexPath row] == previousselectedcell){
return 60;
}
else if ([indexPath row] == selectedcell) {
NSLog(@"height toggle= %@",toggle);
[self ViewToggle:tableView IndexPath:indexPath Do:@"true"];
return 180;
}
else
{
return 60;
}
}
功能定义
-(void)ViewToggle:(UITableView *)tableView IndexPath:(id)myindexPath Do:Toggle{
InterestTableViewCell *cell = (InterestTableViewCell *) [tableView cellForRowAtIndexPath:myindexPath];
if([Toggle isEqualToString:@"true"]){
cell.ContainerView.hidden=NO;
}
else{
cell.ContainerView.hidden=YES;
}
}
最佳答案
问题在这里
InterestTableViewCell *cell = (InterestTableViewCell *) [tableView cellForRowAtIndexPath:myindexPath];
您正在尝试从表中获取单元格。但是仍然没有创建单元。所以您回到单元格创建
heightForRowAtIndexPath不是配置单元格内容的好地方。最好在里面做
tableView:didSelectRowAtIndexPath:
方法
关于ios - 在heightForRowAtIndexPath中调用函数时发生无限循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30527781/