在OS X中,當您在每個應用程序中輸入文本字段時,鼠標光標通常會消失。即使當我在Stack Overflow的這個文本字段中輸入時,光標也會消失。大多數情況下這都很有意義。但在我的應用程序中,我希望它保持可見狀態,因爲用戶必須在文本字段之間進行大量點擊,並且在鼠標始終不用時它非常令人討厭。使鼠標光標在NSTextField中輸入時保持可見
如何使光標在NSTextField
中鍵入時保持可見?
在OS X中,當您在每個應用程序中輸入文本字段時,鼠標光標通常會消失。即使當我在Stack Overflow的這個文本字段中輸入時,光標也會消失。大多數情況下這都很有意義。但在我的應用程序中,我希望它保持可見狀態,因爲用戶必須在文本字段之間進行大量點擊,並且在鼠標始終不用時它非常令人討厭。使鼠標光標在NSTextField中輸入時保持可見
如何使光標在NSTextField
中鍵入時保持可見?
這將是我的猜測,這是深入蘋果代碼鼠標鍵入時消失。因爲即使你剛剛開始輸入鼠標,甚至在文本框之外消失。就像在瀏覽器窗口中單擊並鍵入時一樣。
不那麼深。這可能只是調用['+ [NSCursor setHiddenUntilMouseMoves:]'](http://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSCursor_Class/Reference/Reference.html#//apple_ref/OCC/CLM/NSCursor/setHiddenUntilMouseMoves :)。嘗試設置一個斷點並查看它從哪裏被調用;它可能會讓你知道在哪裏調用'[NSCursor setHiddenUntilMouseMoves:NO]'。 –
好吧,我解決了它。
當你+[NSCursor setHiddenUntilMouseMoves:]
添加斷點,你會發現,它是由[NSTextField keyDown:]
稱爲蘋果說,這是爲了防止鼠標消失重寫此方法沒有好主意。所以我用NSTextFieldDelegate在-(void)controlTextDidChange:(NSNotification *)obj
和-(void)controlTextDidEndEditing:(NSNotification *)obj
上得到通知。然後我打電話給[NSCursor setHiddenUntilMouseMoves:NO]
它不是100%乾淨,但它的工作原理。
非常感謝理查德和庫爾特對他們有很大的幫助:)
不你的應用程序支持字段之間的互聯?如果不是,爲什麼不呢? –
它有。但無論如何,beta測試人員發現它很煩人,鼠標不見了。 – Elefantosque