2014-08-28 4 views
5

Nach (erfolgreich)UICollectionViewLayout 'gesperrt' Fehlermeldung

__weak typeof(self) wself = self; 
[self.collectionView performBatchUpdates:^{ 
    [wself.collectionView.collectionViewLayout invalidateLayout]; 
    [wself.collectionView setCollectionViewLayout:self.layoutDeletion animated:YES]; 
     } completion:nil]; 

Aufruf erhalte ich folgende Fehlermeldung:
trying to load collection view layout data when layout is locked

der Betrieb funktioniert gut, außer dass eine bestimmte UICollectionViewCell nicht seine Subviews geladen.
Ich habe diese Fehlermeldung nie zuvor gesehen, einschließlich Google. Irgendwelche Ideen, was das verursachen könnte?

Antwort

7

Der Fehler wird durch den Aufruf setCollectionViewLayout innerhalb performBatchUpdates generiert. Es ist unklar, ob dies erwartetes Verhalten (ein Codierungsfehler) oder ein Fehler in iOS ist. Sie können das Problem an Apple melden, aber in der Zwischenzeit sollten Sie die Layoutänderung ohne Batchupdates umgestalten. Sie können den Beendigungshandler immer verwenden, um zusätzliche Aktualisierungen für die Sammlungsansicht durchzuführen.

+1

Für mich mit iOS 9, um die Warnungen loszuwerden, die ich brauchte, um 'setCollectionViewLayout' im Abschlussblock aufzurufen. –

0

Ich hatte das gleiche Problem auf iOS 8 ... Eigentlich habe ich nur die performBatchUpdates: -Methode entfernt und alles hat gut funktioniert für mich!

Verwandte Themen