Frage

Ich habe, was ich dachte, war eine ziemlich einfache Notwendigkeit, aber ich bin nicht sicher, wie deren Umsetzung zu gehen.

An verschiedenen Stellen in meiner Schnittstelle, wird der Benutzer aufgefordert, eine Auswahl von etwas eher visuell zu machen (wie ein Layout für eine Seite oder eine Farbe auswählen.) Diese Auswahlen sind aus einem vordefinierten Satz von Optionen. Normalerweise würde man eine NSPopUpButton, oder vielleicht einen NSTableView verwenden, aber ich würde die Benutzer wie Thumbnails jeder Auswahlmöglichkeit zu sehen. Diese Thumbnails sollen eine anständige Größe sein, auch - zumindest 100x100 Pixel. Jedes Thumbnail sollte auch durch eine Textbeschriftung begleitet werden. Nur eine Auswahl wird auf einmal.

Apple-implementiert etwas eher wie dies in iWeb:

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

Natürlich sind Sie verwenden so etwas wie dies mit kleinen Symbolen zu sehen:

Ich denke, dass ein NSCollectionView der Ort zu starten, aber ich habe immer nur diese in vielen komplizierteren Szenarien gesehen (zB: den Inhalt eines Verzeichnisses angezeigt wird, unterstützt Drag & Drop, etc.) Daher die meisten der Code, den ich gefunden habe, ist ziemlich kompliziert.

Gibt es eine einfachere Lösung, diese Ansicht zu bevölkern mit statischen, vordefinierten Daten und nur für eine einfache Auswahl zu? Mit anderen Worten, ich bin auf der Suche für die Funktionalität einer Pop-up-Taste, aber eine andere Benutzeroberfläche.

Update: Lösung

Ich habe IKImageBrowser, wie vorgeschlagen. Dieses Tutorial war sehr hilfreich. In IB: Ich habe gerade einen IKImageBrowser in meiner Schnittstelle, wickelte ihn in einer Scroll-Ansicht, und es die Datenquelle des Browser-Objekts vorgenommen. In Code: implementiert, um die Datenquelle Protokoll in meinem Controller wie das Tutorial erklärt, setzt allowsMultipleSelection und allowsEmptySelection auf NO, erstellt genau ein benutzerdefinierten Bild-Objekt mit der URL-Bilddarstellung wie im Tutorial erklärt

.

Dann die Auswahl zu bekommen, schrieb ich die folgende Methode ausgelöst werden, wenn der Benutzer die Schaltfläche „OK“ klickt:

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

Das Tutorial ist sehr hilfreich -. Nur das Zeug ignoriert über Bilder und Zoom-Schieberegler hinzugefügt und so

War es hilfreich?

Lösung

Sie wollen IKImageBrowserView.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top