如何在光標位於NSButton上時更改光標?可可:在光標位置超過NSButton時更改光標
回答
[yourButton addCursorRect:[yourButton bounds] cursor:[theCursorYouWant]];
讓按鈕添加一個遊標矩形。
我怎麼做, – 2010-05-27 23:12:41
當時所必需的反對票?快速搜索「遊標矩形」的文檔告訴你很多。 – 2010-05-27 23:43:27
@JoshuaNozzi是的,因爲這本身並不是一個有用的答案。 – 2016-08-05 13:03:44
您應該首先繼承NSButton,然後添加下面的代碼。
- (void)resetCursorRects
{
if (self.cursor) {
[self addCursorRect:[self bounds] cursor: self.cursor];
} else {
[super resetCursorRects];
}
}
現在你可以設置光標,只要你喜歡。
[self.button setCursor:[NSCursor pointingHandCursor]];
注:添加cursor
爲你的子類的屬性,如:
@property (strong) NSCursor *cursor;
你可以在答案上擴大一點。 NSButton沒有遊標實例變量?我不明白你的答案。 – 2013-01-27 12:57:55
爲了應用懸停光標,在UI中爲每個按鈕創建子類似乎是不合理的。在告訴你不應該直接調用addCursorRect之後,docs還告訴你不要直接調用「resetCursorRects」,而只需調用NSWindow方法中的「invalidateCursorRects」。 – 2014-04-07 21:54:20
@MottiShneor在-resetCursorRects中調用[super resetCursorRects]本身並不違反「從不調用此規則」的規則,因爲當它無論如何都沒有實際調用它時。 – 2015-08-07 12:39:33
- 1. 如何在光標位置更改NSButton的標題
- 2. 在visual basic中更改光標位置
- 3. 在光標位置
- 4. 光標位置
- 5. 更改光標位置上的文本
- 6. 僅當特定元素超過鼠標光標時才更改
- 7. 光標和光標的鎖定位置
- 8. 內容可編輯的光標位置
- 9. 查找jQuery可拖動光標位置
- 10. ArangoDB光標超時
- 11. 更改光標隱藏光標
- 12. 鼠標光標位置改變
- 13. 拖動時更改光標
- 14. 更改光標時UI忙
- 15. 設置光標,光標繞過放大
- 16. 對光標位置
- 17. 光標位置,jquery
- 18. EditText光標位置
- 19. 從鼠標光標位置
- 20. 我是否可以將默認光標更改爲等待光標以獲取form.design中的設置位置? C#
- 21. 在textview中改變了光標位置
- 22. 通過光標/光標位置獲取當前語句
- 23. Java更改光標
- 24. 更改光標VB.NET
- 25. 如何在OpenGL/Glut中更改鼠標光標的位置?
- 26. Android SearchView在提示圖標後更改光標位置
- 27. JavaScript更改光標圖標
- 28. 在Eclipse TextEditor中更改光標位置時得到通知
- 29. ASP.NET/HTML - 使用光標時的textarea光標位置
- 30. Qt:拖動時更改鼠標光標
來自Apple文檔:_此方法旨在僅由resetCursorRects方法調用。如果以任何其他方式調用,則在下次視圖的光標矩形被重建時,所得到的光標矩形將被丟棄。所以你必須繼承NSButton。 – Kentzo 2012-04-03 07:09:31