在使其覆盖其父类(super class)时遇到一些问题 - 不断收到错误“方法不会覆盖其父类(super class)中的任何方法”。 Collection View 和平移均已设置,我只想禁用横向平移(如果这是一个词)。
我把这个放在类(class)的最后:
override func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
if let panGestureRecognizer = gestureRecognizer as? UIPanGestureRecognizer {
let translation = panGestureRecognizer.translationInView(collectionView!)
if fabs(translation.y) > fabs(translation.x) {
return true
}
return false
}
return false
}
有什么想法吗?我将发布我的 jazzy collectionview 和它的平移能力作为对那些做出贡献的人的奖励。
最佳答案
您不能覆盖该方法,因为它不是您的父类(super class) (UICollectionView) 的一部分。您需要在您的类中采用 UIGestureRecognizerDelegate
协议(protocol)并删除 override
。
假设您已经在 Storyboard中或以编程方式创建了一个 UIPanGestureRecognizer
,您需要将该 UIPanGestureRecognizer
的委托(delegate)设置为 self
您的 View 加载。
此外,不要忘记将 panRecognizer 添加到您的 Collection View 中。
panGesture.delegate = self
collectionView.addGestureRecognizer(panGesture)
关于ios - 为 UICollectionView 覆盖 UIPanGestureRecognizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36233056/