Il modo "focus preferito" funziona concettualmente è che non c'è una "catena" di oggetti che iniziano dalla finestra dell'app, che passano attraverso i controller e le viste della vista, fino a quando la catena non termina in una vista focalizzabile. Quella vista alla fine è ciò che si focalizzerà quando l'app si avvia o se è necessario ripristinare lo stato attivo (ad esempio, se la vista attualmente focalizzata viene rimossa dalla gerarchia della vista, Uikit dovrà scegliere un'altra vista per diventare focalizzata) . Il metodo preferredFocusedView
è il modo in cui si definisce la catena.
Ad esempio, UIWindow
implementa preferredFocusedView
per restituire la vista focalizzata preferita dello rootViewController
. In astratto, t sta facendo qualcosa di simile:
- (UIView *)preferredFocusedView {
return [self.rootViewController preferredFocusedView];
}
UIViewController
implementa preferredFocusedView
di tornare è view
proprietà. UIView
restituisce solo se stesso.
Tuttavia, UICollectionView
implementa preferredFocusedView
in modo diverso: nel caso più semplice, restituisce la prima cella. Quindi quella parte di ciò che vuoi è già fatta per te. Se l'attenzione non si sposta sulla prima cella della tua raccolta, allora qualcosa di più in alto nella "catena" è il problema.
Se la vista raccolta del controller della vista non è il view
proprietà del controller della vista, allora avrete bisogno per guidare la catena di messa a fuoco per la raccolta te stesso:
// in your view controller:
- (UIView *)preferredFocusedView {
return myCollectionView;
}
Da lì, la vista collezione sarà guida la catena alla cella specifica.
fonte
2015-11-21 19:04:00
Ora stiamo parlando. Mi chiedo perché Apple non ingaggia mai persone come te per scrivere la loro documentazione. Invece scrivono persone che odiano scrivere. PERFEZIONARE! GRAZIE! – SpaceDog
Se si prelevano i dati da qualche servizio, non dimenticare di scrivere [self setNeedsFocusUpdate]; dopo collectionview reloadData/reloadSection. – NaXir
Qualche guida per modificare in modo programmatico quale cella è focalizzata in una vista insieme? – vtcajones