UICollectionView — Holen Sie sich einen callback, wenn die Ladung komplett ist?
Ich habe eine UICollectionView. Jede Zelle enthält ein UITextField. Ich möchte einen callback, wenn die Anzeige vollständig ist, so kann ich die Abfrage ein model-Objekt für die textField-Instanz werden sollte, die firstResponder, dann machen es die firstResponder. Kann ich das callback? Oder gibt es eine andere Natürliche Weg, dies zu erreichen?
- Probieren Sie diese Lösung, es fühlt sich sauberer: stackoverflow.com/a/39425374/2664531
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie senden Sie die
layoutIfNeeded
Nachricht, um Ihre Sammlung anzuzeigen, die Aktualisierung seiner Kinder (hinzufügen und löschen von Zellen wie nötig) vor der Rückkehr. Damit können Sie es aktualisieren, synchron, führen Sie dann Ihre post-reload Aktionen.collectionView.collectionViewLayout.invalidateLayout()
dann da irgendwie die collectionView war falsch gelegt, nachdem programmatisch scrollen (setContentOffset
oderscrollToItemAtIndexPath
)Soweit eine tatsächliche callback-Methode, ich glaube nicht, dass es eine für die Sammlung-Ansicht laden. Die einzige, die ich kenne, ist
performBatchUpdates:completion
, und das ist ziemlich unabhängig. In meiner Erfahrung, obwohl, Sammlung Ansichten sind geladen und bereit zu gehen durch die Zeit, dieviewDidAppear
genannt wird, also ich würde die first responder gibt.Hoffe, das hilft!
Nie ausprobiert, aber Sie könnte es tun, indem Sie code in
um die Anzahl der sichtbaren Zellen (vielleicht [visibleCells count]) dann verfolgen, wie viele haben eigentlich schon verarbeitet, dann machen Sie Ihren Rückruf nach alle angezeigt wurden. Hätten Sie zum zurücksetzen der Zählung zwischen Schriftrollen, obwohl.
Nicht sauber, aber sollte funktionieren. Ich weiß nicht von irgendeiner Weise zu bekommen, einen Rückruf kurz.