2016-08-10 14 views
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の場合でした。

関連する問題