2013-10-31 79 views
1

我是NSView的子類,並實現我自己的滑塊控件(它比使用NSView更容易NSView我認爲),因此我在該視圖中實現「drawRect」方法。在自定義NSView中繪製奇怪的邊框/背景

我也實現了「mouseDragged」方法並計算旋鈕的位置,然後我調用[self setNeedsDisplay:YES]來使NSView子類重繪。

問題是,當我打電話給[self setNeedsDisplay:YES] NSView繪製灰色的背景和邊框(看起來像一個圓角的矩形),但我沒有在「drawRect」方法中繪製這個,並且這個邊框和背景儘快消失我調整了超級視圖的大小。

是什麼導致這種背景/邊框凹陷,我該如何預防它?

+1

我找到了一個方法。如果我打電話「[self.superview setNeedsDisplay:YES]」,它一切正常。這是一個好的解決方案嗎? – Neigaard

回答

0

我發現,[超級的drawRect:矩形]沒有執行好,但[超級setNeedsDisplay:YES]執行。

1

在你的drawRect方法包括此行: -

 [super drawRect:rect]; 
0

我發現,從註釋代碼:

[self.superview setNeedsDisplay:YES] 

工作,但沒有人在接受的答案。只是發佈這個尋求解決方案的其他人。

相關問題