首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSTableView keyDown:和mouseDown:

NSTableView keyDown:和mouseDown:
EN

Stack Overflow用户
提问于 2009-11-23 03:11:14
回答 1查看 2.7K关注 0票数 1

我一直在为Mac开发一个菜单栏笔记应用程序。它是用Objective-C和Cocoa编写的,我在其中使用了BWToolkit。我的问题是在BWTransparentTableView中获取keyDown:和mouseDown:事件,这是NSTableView的一个子类。我就是不能让它工作。我试过在互联网上搜索,有些地方说你必须子类化NSTableView。我试过了,但还是不行。我是Objective-C和Cocoa的新手,可能只是做错了什么。

EN

回答 1

Stack Overflow用户

发布于 2009-11-23 07:21:13

当缓慢双击项目或按Return键时,NSTableView中的项目将自动开始编辑。确保表格视图、单元格和数组控制器(如果使用)标记为可编辑。

如果您没有使用NSArrayController,请确保您的表视图有一个委托,并且它响应tableView:shouldEditTableColumn:row:

要处理双击,只需设置表视图的doubleAction

代码语言:javascript
复制
- (void)awakeFromNib
{
    [tableView setTarget:self];
    [tableView setDoubleAction:@selector(doubleClickInTable:)];
}

- (void)doubleClickInTable:(id)sender
{
    NSInteger rowIndex = [sender selectedRow]; //Use selectedRowIndexes if you're supporting multiple selection
    //Handle the double click
}

请注意,这两种方法都不需要创建NSTableView的子类。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1779650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档