gpt4 book ai didi

objective-c - 重写 keyDown 会导致 NSTableView 出现问题

转载 作者:行者123 更新时间:2023-12-03 17:57:43 25 4
gpt4 key购买 nike

在我的 NSTableView 子类 MyTableView 中,我已经覆盖了

- (void) keyDown:(NSEvent *)event {

if ( [event keyCode] == 51 || [event keyCode] == 117 ) {
[super keyDown:event];
return;
}

}

51 是删除按钮的代码。我期望 TableView 像子类化之前一样删除所选项目。

事件被正确捕获并调用父类(super class)的 keyDown 方法。但是,该项目不再被删除。为什么?

谢谢

最佳答案

建议您在窗口类中重写 keyDown: 。

-(void) keyDown: (NSEvent *) event
{
NSString *chars = [event characters];
unichar character = [chars characterAtIndex: 0];
if (character == NSDeleteCharacter || character == NSBackspaceCharacter)
{
NSTableView* view = (NSTableView*)[self firstResponder];
if(view == theTableView)
{
// do something to delete the item from your data model and reload the tableview
}
}
}

关于objective-c - 重写 keyDown 会导致 NSTableView 出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10846895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com