Domanda

Non ho quello che ho pensato che era un piuttosto semplice bisogno, ma non sono sicuro di come fare per la sua attuazione.

In vari punti di mia interfaccia, l'utente è invitato a fare una selezione di qualcosa di visivo (come la scelta di un layout per una pagina o di un opzione di colore.) Queste selezioni sono costituiti da un insieme predefinito di opzioni. Normalmente ci si utilizza un NSPopUpButton, o forse un NSTableView, ma vorrei che l'utente per visualizzare le miniature di ciascuna opzione di selezione. Queste miniature dovrebbe essere di dimensioni adeguate, anche - almeno 100x100 pixel. Ogni miniatura deve anche essere accompagnato da un'etichetta di testo. Solo una selezione è consentita in una volta.

di Apple implementa qualcosa di simile in iWeb:

iWeb http://img187.imageshack.us/img187/5744/iweb. jpg

Naturalmente, siete abituati a vedere qualcosa di simile con piccole icone:

Xcode

Sto pensando che un NSCollectionView è il punto di partenza, ma ho sempre e solo visto questo utilizzato in modo molto più complicato scenari (ad esempio: visualizzazione del contenuto di una directory, supporto drag and drop, ecc) Pertanto, la maggior parte del codice che ho trovato è piuttosto complicata.

C'è una soluzione più semplice per popolare questo punto di vista, con, dati statici pre-definiti e solo per consentire una semplice selezione? In altre parole, sto cercando la funzionalità di un pulsante di pop-up, ma una diversa interfaccia utente.

Aggiornamento: Soluzione

Ho usato IKImageBrowser, come suggerito. Questo tutorial è stato molto utile. In IB: Ho appena fatto un IKImageBrowser nella mia interfaccia, avvolto in una vista di scorrimento, e ne ha fatto l'origine dati dell'oggetto browser. In Codice: implementato il protocollo di origine dati in mio controller come il tutorial spiega, impostare allowsMultipleSelection e allowsEmptySelection su NO, creato un oggetto un'immagine personalizzata utilizzando la rappresentazione dell'immagine URL esattamente come spiegato nel tutorial

.

Quindi, per ottenere la selezione, ho scritto il seguente metodo per essere attivato quando l'utente fa clic sul pulsante "OK":

NSIndexSet *retval = [imageBrowser selectionIndexes];
NSInteger i = [retval firstIndex];  //the index of the selection. Corresponds to index in my array data source
NSString* path = [[styleViewData objectAtIndex:i] imageRepresentation]; //path to selected image, if you need it

Il tutorial è molto utile -. Basta ignorare la roba circa l'aggiunta di immagini e cursori di zoom e tale

È stato utile?

Soluzione

Si vuole IKImageBrowserView.

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