2

ビューに NSButton があり、NSView をサブクラス化し、何かを描画しdrawRect:ます。ビューは NSWindow に属しています。

次に、ボタンをクリックすると、ビューが透明になることがわかります。これは、ボタンをクリックするとボタンの背景が変わるためだと思います。そこで、NSButton をサブクラス化し、

- (void)mouseDown:(NSEvent *)theEvent {

[self.window.contentView setNeedsDisplay:YES];
[super mouseDown:theEvent];
[self.window.contentView setNeedsDisplay:YES];

}

現在、mouseDown と mouseUp を使用すると、ビューは正しいように見えますが、クリックするとフラッシュが透明になり、さらに、mouseDown してボタンの外に移動すると、背景が再び透明になります。

クリックしたボタンの背景を変更しないようにするにはどうすればよいですか?
または再描画コードを配置する場所。

ありがとう!

4

0 に答える 0