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

时间:2012-11-30 10:49:17

标签: ios storyboard

当我在UIView中放置UITapGestureRecognizer时,我从故事板中得到了上述错误,该UIView位于我场景中的UITableViewCell内。

知道我为什么会收到此错误?

2 个答案:

答案 0 :(得分:8)

我不确定为什么限制到位但我知道你为什么会得到错误。

在StoryBoard中设计UITableViewCell时,您只需设计一个原型对象。即物体可能永远不会存在。它只能在tableView:cellForRowAtIndexPath:

中实际创建

可能更好的方法是在代码中配置单元格时创建gestureRecognizer。这样你就不会受到这种限制。

我也可能看看你是否真的需要它?如果仅用一根手指进行一次点击,那么您可能最好不要编码touchesEnded或仅使用UIButton。

答案 1 :(得分:0)

自己找到了原因。 storyboard只允许当我们有一个UITableViewController或它的子类时,tableview内容应该是'静态单元'而不是默认的'动态原型'。在该配置中,我可以在单元子视图中添加手势识别器。

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