我有一个实现了UITableView属性的keyCommands子类,其中提供了几个UIKeyCommands。此UITableView是视图控制器中主视图的子视图。

当我运行该应用程序并按住Command预览可用的键盘快捷键时,这些键盘命令不会显示。

我已经在另一个项目以及该项目的单独位置中测试了此自定义UITableView子类。在这两种情况下,表视图都属于UITableViewController子类,而不是我在这种情况下使用的普通UIViewController子类。

我试图在表视图上调用becomeFirstResponder,但这没有任何区别。

为什么无法识别表视图的关键命令,我该如何解决?

最佳答案

显然(我可能会误会,但这是它的样子),UITableViewControllers中的表视图具有canBecomeFirstResponder返回true,而UITableView的默认值为false

要解决此问题,只需将此方法添加到子类中:

override func canBecomeFirstResponder() -> Bool {
    return true
}

10-06 02:55