我创建了许多视图和按钮,然后我以图形方式创建了ISwipeGestureRecognizer。并将许多视图添加到识别器的“引用出口集合”中。滑动手势适用于我所有的视图。这是怎么可能的?Storyboard自动为每个连接的UIView创建不同的SwipeRecognizers吗?
我无法通过编程方式添加更多视图,为什么?
NSLog
语句来记录识别器的地址(这是传递给动作方法的第一个参数)。通过这种方式,您将验证是否重用了相同的识别器。recognizer.view
属性以查看内部发生了什么。如果您对所有情况都得到相同的结果,则可以乐观地推断出UISwipeRecognizer
没有在内部使用其view
属性,而且该信息仅存储为您的操作回调函数能够访问它。view
属性值。这将意味着属性值是动态更改的,但我无法解释如何实现。您可以在代码或使用界面构建器中,将单个手势识别器添加到任意数量的视图中。要实现此操作,您需要使用UIView
的addGestureRecognizer:
方法。请注意,您需要将识别器添加到视图中,而不是相反。
view
属性是有原因的,就像视图有一个superview
属性一样(注意这些单词不是复数形式)。 - Filip Radelic