2012-09-25 8 views
4

我在簡單的矩形NSview中放置了幾個按鈕,它們充當自定義工具欄。在第一次呈現按鈕/視圖按預期呈現時,但每次按下按鈕時(有時完全沒有鼠標交互),人工品開始出現。NSButton在用作自定義工具欄視圖的子視圖時留下僞影

以前

enter image description here

enter image description here

我可以通過調用消除文物[self.toolbarView setNeedsDisplay:YES]在所有的行動和重點方法,但這似乎是一個黑客,是否有任何干淨的方式來處理這個?

+0

告訴你如何創建按鈕和搜索字段 –

+0

這些按鈕是普通的NSButtons與圖像屬性設置爲PNG圖像,沒有什麼不尋常的。 NSSearchField也是股票。這個問題似乎是將它們放在一個NSView的子視圖中,其中drawRect:方法繪製了一個漸變。 – demianturner

回答

1

這是一個初學者的問題。在drawRect方法

- (void)drawRect:(NSRect)dirtyRect 

我用帕拉姆dirtyRect繪製我的觀點的輪廓,假設它的視圖邊界,在那裏,其實那也只是圍繞着變髒的按鈕區域時,對它們進行加壓。這些'文物'實際上是我的輪廓在錯誤的地方畫出來的。

通過正確使用視圖

NSRect drawingRect = [self bounds]; 

的「文物」不再出現的範圍。

0

您只是嘗試在IB中將按鈕的對焦環設置爲'無'。

+0

聚焦環當前設置爲無,也將其設置爲「默認」不會更改有問題的行爲。 – demianturner

相關問題