我在UITableviewCell下添加了expandale / collapsable UIView。我能够在按钮操作上添加和隐藏视图,但在另一个单元格中显示视图时无法将其删除。我在隐藏时将视图高度约束更新为0。
这是我的代码:
-(void)doneButtonClicked:(UIButton*)sender{
CGPoint buttonPosition = [sender convertPoint:CGPointZero
toView:_tableView];
NSIndexPath *indexPath = [_tableView
indexPathForRowAtPoint:buttonPosition];
CustomCell *cell = [_tableView cellForRowAtIndexPath:indexPath];
for (int i = 0; i < [_expandedIndexPaths count]; i++){
if (i != indexPath.row && [_expandedIndexPaths count] > 0){
[self.expandedIndexPaths removeObject:indexPath];
//Animation effect for expanding/collapsing view
[cell animateClosed];
}
}
if (sender.tag == 0) {
[self.expandedIndexPaths addObject:indexPath];
[cell animateOpen];
//[self.expandedIndexPaths removeObject:indexPath];
}else{
[self.expandedIndexPaths removeObject:indexPath];
[cell animateClosed];
}
[_tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
}
答案 0 :(得分:0)
约束更新也应该在cellForRow方法中进行。将常量设置为0。
如果希望视图再次出现在首先打开它的单元格中 地方并没有关闭它。在单元格中添加隐藏状态boolean var 每次更新该常量时都会更新并更新。然后 cellForRow检查该布尔值并设置常量 相应