[英]Overriding keyDown: in an NSTableView category disables arrow key handling
我有一個NSTableView
,它的默認行為有一些問題。
如果我重寫了類別中的keyDown:
方法,如下所示:
- (void) keyDown:(NSEvent *)event {
[super keyDown:event];
}
我無法再使用鍵盤上的箭頭鍵更改行選擇。 這是為什么?
在NSTableView的類別中。
在NSTableView
的類別中, super
是指NSTableView
的超類( NSControl
),而不是像子 NSTableView
那樣是指NSTableView
。 您NSControl
事件傳遞給keyDown:
的NSControl
版本,該版本對表視圖一無所知,並且無法以所需方式處理箭頭鍵。
如果您覆蓋類別中的方法,則無法調用原始方法。 在框架類上執行此操作絕不是一個好主意(您的源不可用)。 使用子類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.