Così ho questa riga di codice:Eseguire un compito (in iOS) dopo l'animazione ha finito
[tableView setContentOffset:point animated:YES];
e voglio eseguire un altro pezzo di codice dopo l'animazione si conclude. Il mio tentativo è stato quello di lanciare il codice di animazione (setContentOffset) in un metodo separato e chiamarlo utilizzando:
[self performSelectorOnMainThread:@selector(scrollMethod:) withObject:sender waitUntilDone:YES];
Il problema è che il metodo restituisce subito, non dopo l'animazione è finita, anche se waitUntilDone è SI ma apparentemente è così che funziona l'animazione.
So che posso usare thread in attesa ma non è pulito, quindi lo userò solo come ultima risorsa. (Forse lo userei se conosco il tempo necessario per l'animazione a scorrimento.)
Qualsiasi idea su come procedere è gradita.
(PS Lo scenario è questo: sto mostrando un popover, che viene visualizzato perfettamente quando non c'è tastiera, tuttavia, se la tastiera è visibile, l'altezza del popover restringe che a volte lo riduce a quasi confine solo Così solo. prima di mostrare la popover, voglio scorrere la vista verso l'alto in modo che il popover non si apre nella tastiera)
Stavo per rispondere allo stesso ... Mi chiedo se questo interferirà con le animazioni di tableView però. – SpacyRicochet
Ciao @SpacyRicochet Ho appena provato, e funziona entrambi. :) – Kjuly
Quindi la mia nuova risposta è ancora utile per scopi didattici :) – SpacyRicochet