Добавление пользовательского вложенного UIView ниже UITableViewCell - PullRequest
0 голосов
/ 02 мая 2018

Я добавляю развернутый / складываемый UIView ниже UITableviewCell. Я могу добавить и скрыть представление о действии кнопки, но не могу удалить его, когда представление отображается в другой ячейке. Я обновляю ограничение высоты вида на 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];

}

1 Ответ

0 голосов
/ 03 мая 2018

Обновление ограничения также должно происходить в методе cellForRow. Установите константу на 0 там.

Если вы хотите, чтобы представление снова появилось для ячейки, которая сначала открывает его место и не закрывать его. Добавить скрытое состояние boolean var в ячейку класс и обновлять каждый раз, когда вы обновляете эту константу. Затем на cellForRow проверяет значение этого логического значения и устанавливает постоянную соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...