質問

私は欲しいです NSButton 画像と代替画像があります。ボタンが押されている間に代替画像を表示する必要があります。また、コードから代替画像を表示して、次のようなものを呼び出したいと思います。 [button setSelected:YES]. 。これは、ともに猿にせずに可能ですか alternateImage 手で財産?

役に立ちましたか?

解決

これは、ボタンの画像を手動で変更せずに可能です。

インターフェイスビルダー(XIB/NIBエディター) をセットする タイプ nsbutton to "トグル" 画像は自動的に代替画像/タイトルに変更されます。

Set the type to Toggle to use the alternate image

他のヒント

使用できます NSButton に設定されています NSToggleButton 次に、を切り替えます image そしてその alternateImage を使用して NSOnState / NSOffState の状態 NSButton.

NSButton* theButton = [[NSButton alloc] initWithFrame:....];
theButton.image = .....
theButton.alternateImage = .....
theButton.state = NSOffState; // displays the image
theButton.state = NSOnState; // displays the alternateImage

最も簡単な方法は、2つの画像を切り替えることです。

@implementation NSButton (Select)

- (void) setSelected: (BOOL) yn
{
    NSImage *const tmp = [self image];
    [self setImage:[self alternateImage]];
    [self setAlternateImage:tmp];
}

@end
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top