Verloren in NSButton -Typen und alternative Bilder
Frage
Ich möchte eine haben NSButton
mit einem Bild und einem alternativen Bild. Das alternative Bild sollte angezeigt werden, während die Taste gedrückt wird, und ich möchte auch das alternative Bild aus dem Code anzeigen und so etwas wie aufrufen [button setSelected:YES]
. Ist dies möglich, ohne mit dem zu affen? alternateImage
Eigentum von Hand?
Lösung
Dies ist möglich, ohne das Bild der Taste manuell zu ändern:
Im Schnittstellenbuilder (XIB/NIB -Editor) Setzen Sie die Typ von nsbutton zu "Umschalten" und das Bild wechselt automatisch auf das alternative Bild/den alternativen Titel.
Andere Tipps
Sie können a verwenden NSButton
mit Typ eingestellt auf NSToggleButton
und dann zwischen dem wechseln image
und die alternateImage
Verwendung der NSOnState
/ NSOffState
Zustände der NSButton
.
NSButton* theButton = [[NSButton alloc] initWithFrame:....];
theButton.image = .....
theButton.alternateImage = .....
theButton.state = NSOffState; // displays the image
theButton.state = NSOnState; // displays the alternateImage
Der einfachste Weg ist, zwischen den beiden Bildern zu wechseln:
@implementation NSButton (Select)
- (void) setSelected: (BOOL) yn
{
NSImage *const tmp = [self image];
[self setImage:[self alternateImage]];
[self setAlternateImage:tmp];
}
@end