Domanda

Vorrei costruire un NSCollectionView simile a quello in iPhoto '11. Voglio raggruppare diverse immagini nella sezione e creare anche un'intestazione di sezione. L'intestazione della sezione di una sezione specifica è sempre visibile fino a quando non è visibile l'ultimo elemento di quella sezione. Puoi dare un'occhiata alla foto per vedere cosa intendo.

EDIT: dovrei aggiungere che i contenuti non sono immagini.

enter image description here

Grazie in anticipo

È stato utile?

Soluzione

Probabilmente dovrai cercare direttamente l'uso dei calayer. NSCollectionView Ottiene la maggior parte della sua magia da Coreanimation IIRC e sembra che potresti dover duplicare un po 'di questo. In alternativa, è possibile provare a utilizzare visualizzazioni di raccolta nidificata, uno contenente gruppi, quindi ogni gruppo contiene un'altra vista di raccolta dei singoli elementi.

Ad ogni modo, la tua gerarchia di vista/livello sarà la stessa. Avrai un contenitore di alto livello che ha solo una colonna (poiché i gruppi si estendono su tutta la larghezza), quindi ogni elemento all'interno di ciò avrà un numero qualsiasi di colonne, in base alla larghezza dell'articolo. cioè i tuoi elementi di visualizzazione della tua collezione "gruppo" si estenderanno per riempire la larghezza, ma i tuoi singoli elementi all'interno di quei gruppi non lo faranno.

Se scegli di utilizzare il RAW CALayer approccio, allora vorrai guardare CAConstraintLayoutManager. Questo è ciò che fornisce la magia all'interno NSCollectionView. Un buon posto per iniziare a cercare informazioni su questo è Il libro delle coreanimation di Bill Dudney dai programmatori pragmatici. Bill ora è l'evangelista della piattaforma ufficiale per Apple, quindi penso che sia sicuro dire che sappia di cosa sta parlando lì dentro.

Nel complesso, suggerirei di usare un nidificato NSCollectionView Approccio per cominciare e guardare a scendere alla coreanimazione grezza solo se le prestazioni sembrano mancare o se hai problemi a far funzionare alcune cose. Usando NSCollectionView Ti consente di mantenere tutta la tua corrente NSView-ness in atto, quindi sarà meno lavoro. Se risulta ok, allora sei a casa e asciutto. In caso contrario, hai qualcos'altro da provare che puoi modificare il contenuto del tuo cuore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top