有一些问题让它覆盖它的超类 - 继续得到错误"方法不会覆盖其超类的任何方法"。集合视图和平移器都已设置好,我只想禁用侧向平移(如果这是一个单词)。
我坚持在课堂的最底层:
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及其平移功能,作为那些贡献者的奖励。
答案 0 :(得分:1)
您无法覆盖该方法,因为它不属于您的超类(UICollectionView)。您需要在班级中采用UIGestureRecognizerDelegate
协议,然后移除override
。
假设您已经在故事板或编程方式中创建了UIPanGestureRecognizer
,那么只要您的视图加载,就需要将UIPanGestureRecognizer
的代理设置为self
。
另外,不要忘记将panRecognizer添加到集合视图中。
panGesture.delegate = self
collectionView.addGestureRecognizer(panGesture)