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.
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.
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%Tags und Links objective-c uicollectionview autolayout ios7 uiviewanimation