Wie können Constraints ohne Aufruf von 'layoutIfNeeded' animiert werden?

9

Durch Aufruf von [self.view layoutIfNeeded]; im Animationsblock werden alle untergeordneten Ansichten animiert.

Dies verursacht ein Problem beim Scrollen von UICollectionView , weil UICollectionViewCells auf den Bildschirm animiert.

Kann ich irgendwie verhindern, dass die Portsmouth -Zelle animiert?

** BEARBEITEN **

Um die Verletzung zu beleidigen, animiere ich die Beschränkungen, die die Höhe von UICollectionView steuern. Um die Größe des Feeds zu erhöhen, habe ich ein verschwinden UIView fungiert als Kopfzeile.

    
William George 07.08.2014, 13:51
quelle

2 Antworten

4

Sie können layoutIfNeeded für jede Ansicht verwenden. Ziehen Sie daher in Betracht, die Ansichtshierarchie Ihrer Zelle zu ändern, um die Ansicht zu isolieren, die die Einschränkungen enthält, die animiert werden müssen. Der Aufruf layoutIfNeeded löst nur Animationen für die Beschränkungen aus, die Sie animieren möchten. Ist das sinnvoll?

Dies würde bedeuten, dass ein UIView in Ihre Hierarchie eingefügt wird, und diese Ansicht würde zum Superview der Ansichten werden, die Sie über Constraints animieren.

    
Alfie Hanssen 07.08.2014 19:13
quelle
0

Ich habe stundenlang versucht, diesen Fehler zu beheben, und schließlich habe ich eine Lösung gefunden:

%Vor%

Ich habe Frames verwendet, nicht automatisches Layout, aber vielleicht gibt es auch eine Möglichkeit, Animationen für die Abhängigkeitsanordnung zu deaktivieren.

BEARBEITEN:

Sie könnten versuchen:

%Vor%     
michal.ciurus 08.06.2015 07:54
quelle