• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

[Cocoa] Vor- und Zurückbutton in Toolbar

jack.jack

Klarapfel
Registriert
20.03.09
Beiträge
280
Hallo
Ich habe eine Frage: Wie stelle ich einen Vor- und Zurück Button in die NSToolbar hinein, sodass diese wie bei Safari ohne Abstand aneinander sind? Sieht nämlich nicht gut aus, wenn sie Abstand voneinander haben.
 
Das musst du selber programmieren, denn hierfür gibt es keine Cocoa-Klassen einfach so!

Gruss ppocket
 
Jep, hab das auch in nem Projekt verwendet.
Hab einfach die Buttons als Grafiken gezeichnet (Ist an sich ja nur Gradient Verlauf mit nem 1px inner Glow, nem 1px dunklem Rand und nem hellen Dropshadow) und das Ganze zwei NSButtons zugewiesen.

Das "Zeichnen lässt sich natürlich auch programmatisch erledigen, je nachdem worin man fitter ist. ;)
 
Es gibt noch eine einfachere Möglichkeit: Benutze dazu einfach NSSegmentedControl. Sieht nicht allzu gut aus, aber wenn du keinen grossen Aufwand und Vertiefung in Controls & Cells magst, ist das ein guter Weg. Die NSSegmentedControl weist du dann einem NSToolbarItem (setView:) zu und fügst es der Toolbar (insertItemWithItemIdentifier:atIndex:) zu. Dann musst du dich noch um die delegate der Toolbar kümmern und fertig ist die Geschichte.

Gruss ppocket
 
Es gibt noch eine einfachere Möglichkeit: Benutze dazu einfach NSSegmentedControl. Sieht nicht allzu gut aus, aber wenn du keinen grossen Aufwand und Vertiefung in Controls & Cells magst, ist das ein guter Weg. Die NSSegmentedControl weist du dann einem NSToolbarItem (setView:) zu und fügst es der Toolbar (insertItemWithItemIdentifier:atIndex:) zu. Dann musst du dich noch um die delegate der Toolbar kümmern und fertig ist die Geschichte.

Gruss ppocket

Ich habe mich für die Methode mit NSSegmentedControl entschieden. Wenn ich Style auf Textured Rounded setze, sieht es gut aus. Aber wie kann ich die beiden Buttons jetzt unterscheiden? Also ihnen verschiedene Selectors zuweisen?
 
Hallo,

es reicht eine Action. Wenn die geklickt wurde, dann fragst Du einfach den Tag des gedrückten Segmentes ab.

Viele Grüße
 
Habe noch eine Frage: Wie kann ich eine NSToolbar unten im Fenster und nicht oben platzieren (wie in iPhoto)?
 
Das ist eine Apple-Eigenproduktion. Es ist nicht wirklich eine Toolbar. Du findest unter NSWindow einige Methoden, womit du das Aussehen, bzw. die Breite des oberen und unteren Randes steuern kannst. Machst du den unteren Rand höher, kannst du dann dort Buttons drauflegen. Damit sieht das dann wie eine Toolbar aus.

Gruss ppocket
 
Genau :)

Hier der Code:

Code:
	// Unterere Leiste hinzufügen
	[myWindow setAutorecalculatesContentBorderThickness:NO forEdge:NSMinYEdge];
	[myWindow setContentBorderThickness:42 forEdge:NSMinYEdge];

Elemente, die Du dann in dem View des Fensters platzierst (von unterem Rand bis 42 in Y-Richtung) sind dann immer auf der Leiste.

Viele Grüße