1

私は NSView をサブクラス化し、独自のスライダー コントロールを実装しています (NSControl よりも NSView の方が簡単だと思います)。したがって、そのビューに「drawRect」メソッドを実装しています。

また、「mouseDragged」メソッドを実装してノブの位置を計算し[self setNeedsDisplay:YES]、NSView サブクラスを再描画するように呼び出します。

問題は、NSView を呼び出すと[self setNeedsDisplay:YES]灰色の背景と境界線 (丸みを帯びた四角形のように見える) が描画されることですが、「drawRect」メソッドではこれを描画せず、この境界線と背景はスーパービューのサイズを変更するとすぐに消えてしまいます。

この背景/境界線の描画の原因と、それを防ぐ方法を教えてください。

4

3 に答える 3

1

drawrect メソッドに次の行を含めます:-

     [super drawRect:rect];
于 2013-10-31T15:31:18.413 に答える
0

コメントからのコードが見つかりました:

[self.superview setNeedsDisplay:YES]

うまくいきましたが、受け入れられた答えのものではありませんでした。解決策を探している他の人のためにこれを投稿するだけです。

于 2015-01-07T13:25:46.623 に答える