使用按键从表格视图中删除条目
我有一个简单的可可应用程序,其中有一个显示一些条目的表格视图。我希望用户能够通过简单地在表中选择它并按“删除”来删除他想要的任何条目。如何检测“删除”按键以及如何知道它是否在用户选择表视图中的条目时发生?
**编辑:如果我没有说清楚,“删除”指的是 Mac 键盘上的退格键,而不是 GUI 按钮。
I have a simple cocoa application with a table view displaying a few entries. I want the user to be able to delete any entry he wants by simply selecting it in the table and pressing "Delete". How do I detect the keypress of "Delete" and how do I know if it occurs when the user has selected an entry in the tableview?
**Edit: in case I've not made it clear, "Delete" refers to the backspace key on a mac keyboard and not a GUI button.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
对表视图进行子类化,并让它在按下删除键时发送其委托事件。
MyTableView.h:
MyTableView.m:
表格视图的委托:
Subclass the table view, and have it send its delegate events when delete is pressed.
MyTableView.h:
MyTableView.m:
Table view's delegate:
另一种选择是仅将等效键(键盘快捷键)分配给“编辑”菜单的“删除”项,并将其操作设置为控制器的
delete:
方法。Another option is to just assign a key equivalent (keyboard shortcut) to the Edit menu's "Delete" item and set its action to your controller's
delete:
method.如果您只有一张表,一种更简单的解决方案是在窗口控制器或视图控制器中实现一些
NSResponder
方法:If you only have one table, a simpler solution is to implement a few
NSResponder
methods in your window controller or view controller:这是 @paulmelnikow 给出的答案的 Swift 4 版本。
Here's a Swift 4 version of the answer that @paulmelnikow gave.