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?

War es hilfreich?

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.

Set the type to Toggle to use the alternate image

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top