Zapobieganie animowanemu wyglądowi UICollectionViewCell podczas prezentacji UICollectionView

Gdy użytkownik wykona jakąś akcję, muszę pociągnąćUICollectionView od dołu do pewnej wysokości. Ponieważ ten nowy stan jest całkowicie opcjonalny, widok kolekcji jest tworzony tuż przed prezentacją w ten sposób. Animacja od dołu do góry jest wykonywana przy użyciu zmian w NSLayoutConstraintconstant nieruchomość i wezwanie do[view layoutIfNeeded] w jakimś bloku animacji.

Problem polega na tym, że robienie rzeczy w ten sposób powoduje, że komórki pojawiają się w niepożądany sposób: rozszerzają się z lewego górnego rogu do określonego rozmiaru. Chciałbym, aby widok kolekcji pojawił się i wszystkie jego komórki były już ułożone w ich ostatecznym rozmiarze i wyglądzie.

Jestem świadomy takich rzeczy jak UIViewsetAnimationEnabled: metoda, ale wydaje mi się, że nie mogę znaleźć sposobu i miejsca, w którym powinienem tego użyć (jeśli tak jest).

Myślę, że problem wynika z dodania komórek widoku kolekcji do hierarchii widoków tuż przed blokiem animacji zawierającym wywołanie[superview layoutIfNeeded]. To prawdopodobnie prowadzi UIKit do myślenia, że ​​powinien on również animowaćte zmiany w układzie. W takim przypadku rozwiązaniem byłoby prawdopodobnie coś w rodzaju wykluczenia z animacji konkretnych zmian w hierarchii widoków.

questionAnswers(2)

yourAnswerToTheQuestion