1
我得到了一個NSTextField,看起來很好,直到它退出第一個響應者。NSTextField在退出第一響應者後繪製白色區域
它繪製一個白色矩形,直到它再次成爲第一個響應者。任何想法如何避免這種情況?
我得到了一個NSTextField,看起來很好,直到它退出第一個響應者。NSTextField在退出第一響應者後繪製白色區域
它繪製一個白色矩形,直到它再次成爲第一個響應者。任何想法如何避免這種情況?
繪圖問題似乎是由TextField的單元而不是由TextField本身引起的。這個奇怪的解決方法修復了這個問題:
class TextFieldCell: NSTextFieldCell {
override func drawInteriorWithFrame(cellFrame: NSRect, inView controlView: NSView) {
super.drawInteriorWithFrame(cellFrame, inView: controlView)
}
}
這可解決背景顏色問題,但會導致佔位符文本從未聚焦的文本字段中消失。 – Joey
您是否在阻塞UI的主線程上使用任何繁重的代碼?另一個想法是,如果你是使用分層/託管視圖並獲取正確的圖層更新? (即layerContentsRedrawPolicy)等... –
我不阻止主線程,但我使用核心動畫,因此視圖是作爲一個原因問題層支持。如果我更改重畫策略,錯誤仍然會發生。 – floschliep
嘗試設置(swift)'theNSTextField.drawsBackground = true'或(Obj-C)'[theNSTextField setDrawsBackground:YES]' –