我有一个实现了UITableView
属性的keyCommands
子类,其中提供了几个UIKeyCommands
。此UITableView
是视图控制器中主视图的子视图。
当我运行该应用程序并按住Command预览可用的键盘快捷键时,这些键盘命令不会显示。
我已经在另一个项目以及该项目的单独位置中测试了此自定义UITableView
子类。在这两种情况下,表视图都属于UITableViewController
子类,而不是我在这种情况下使用的普通UIViewController
子类。
我试图在表视图上调用becomeFirstResponder
,但这没有任何区别。
为什么无法识别表视图的关键命令,我该如何解决?
最佳答案
显然(我可能会误会,但这是它的样子),UITableViewControllers中的表视图具有canBecomeFirstResponder
返回true
,而UITableView的默认值为false
。
要解决此问题,只需将此方法添加到子类中:
override func canBecomeFirstResponder() -> Bool {
return true
}