为什么我的手势识别器不能用于原型对象?

我从Storyboard中得到了上面的错误,当我在场景中的UITableViewCell里面放置了一个UITapGestureRecognizer。

任何想法,为什么我得到这个错误?

我不知道为什么限制是存在的,但我知道你为什么会得到这个错误。

当你在StoryBoard中devise一个UITableViewCell ,你只是devise一个原型对象。 即该对象可能永远不会存在。 它只能得到ACTUALLY在tableView:cellForRowAtIndexPath:创build的tableView:cellForRowAtIndexPath:

什么可能是一个更好的方法是在代码中configuration单元格时创buildgestureRecognizer。 这样你就不会有这个限制。

我也可能看看你是否真的需要它? 如果只用一根手指点击一下,那么编码touchesEnded可能会更好,或者只是使用UIButton。

自己find原因。 故事板只允许当我们有一个UITableViewController或它的子类和tableview内容应该是“静态单元格”,而不是默认的“dynamic原型”。 在这个configuration中,我可以在单元格子视图中添加一个手势识别器。

但这是一个限制,不会在我的情况下工作,因为我有一个非常自定义的视图控制器子类,而不是表视图控制器子类。 需要寻找其他方式似乎:(