0

Я использую собственный размер UITableViewCell, и они всегда уменьшаются до наименьшего размера, которым они могут быть. Отлично.Удаление UITableViewCell приводит к тому, что другие ячейки с размерами ячеек становятся больше по размеру

Однако, когда я удаляю ячейку, это приводит к увеличению размеров других ячеек до тех пор, пока они не будут перезаписаны или перезаписаны.

Я использую правильные UITableView методы для удаления источника данных и клетки ...

[self.tableView beginUpdates]; 

[self.dataSource deleteObjectsAtIndices:[self indexSetFromIndexPaths:@[indexPath]]]; 
[self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationLeft]; 

NSArray *previousDataSourceState = [self.dataSource.objects copy]; 
[self.dataSource reconstructObjects]; 
NSArray *indexPathsToBeAdded = [self indexPathsOfObjectsFromDatasource:self.dataSource.objects notPresentInDataSource:previousDataSourceState]; 
[self.tableView insertRowsAtIndexPaths:indexPathsToBeAdded withRowAnimation:UITableViewRowAnimationNone]; 

[self.tableView endUpdates]; 

Есть ли что-то я не хватает?

Может ли это быть приоритетным вопросом с ограничениями? например, сопротивление сжатию содержимого и обнимание содержимого?

+0

Это сработало или нет? –

ответ

0

Как предполагалось, это вопрос приоритетов, противоречащих друг другу.

Чтобы устранить проблему, приоритет обхода содержимого должен быть выше на представлениях, которые вы хотите сохранить меньше. Для меня это имело место с UIView, который рос неожиданно.