2013-10-04 17 views
9

Sto iniziando il mio sviluppo di un'app ios utilizzando ios 6 e UICollectionView. Ho notato che c'è supporto sia per le viste supplementari che per le viste decorative.Vista decorazione vista panoramica VS vista supplementare VS

Qualcuno può spiegare nei punti elenco la differenza tra i due? Suonano molto simili.

Se voglio aggiungere un caricatore alla mia vista raccolta (che apparirà in fondo a ciascuna sezione, mentre la sezione si sta caricando) dovrebbe essere una vista supplementare o una vista decorativa?

Grazie

risposta

28

vista decorazioni sono proprio quello che dice il nome: decorazione, cromo. Solo il layout della vista collezione decide cosa sono e dove metterli (ad esempio, se vuoi disegnare linee sullo schermo ogni 5 elementi).

Le viste supplementari sono più correlate ai dati. Il layout della vista collezione decide ancora dove collocarli, ma sono forniti dall'origine dati della vista raccolta, proprio come le celle normali. Ad esempio, se si desidera inserire titoli per sezioni, si utilizzeranno viste supplementari perché il titolo sarebbe diverso per ogni sezione e sarà necessario chiamare l'origine dati per ciascuna.

Se il caricatore è generico, potrebbe essere una vista di decorazione, tuttavia le viste di decorazioni non sono realmente accessibili (l'oggetto di layout dice dove metterle, e cioè, sono create dalla vista di raccolta e non si ottiene mai un riferimento a loro), quindi se si desidera avviare/interrompere l'animazione, una vista di decorazione non è la scelta migliore. Se si utilizza una vista supplementare, è possibile accedervi al momento della creazione (nel metodo collectionView:viewForSupplementaryElementOfKind:atIndexPath: dell'origine dati). Tuttavia, è possibile interrogare la vista di raccolta solo per le celle di dati regolari una volta disposte sullo schermo. Inoltre, è necessario scrivere la propria classe UICollectionViewLayout se si desidera utilizzare decorazioni personalizzate o viste supplementari. La base UICollectionViewFlowLayout fornisce solo un punto di vista e una vista supplementare dell'intestazione.

+0

Ero confuso riguardo alla differenza finché non ho realizzato quanto segue: per le viste supplementari, si chiama uno dei metodi 'register' nella vista raccolta (o si registra in storyboard). Per le viste di decorazione, si utilizza uno dei metodi 'register' sull'oggetto di layout stesso. – RyanM

Problemi correlati