Left Menu抽屉效果与ScrollView共存时的手势冲突
2016-03-29 本文已影响112人
旺仔Milk
目前负责的项目,产品给了个需求(也可以说是遗留bug)
然后有Left与Right的抽屉效果。
之前也有做过类似的,后来做完就忘了。记性实在太差了。真是应了那句话:好记性不如烂博客。
因为我首页是一个ScrollView所以当我contentOffset是0.0的时候,无法直接滑动出抽屉效果,用户体验感非常差。
思考了一下还是手势的问题。
于是将ScrollView单独分了出来,重写了
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer方法
在左滑动的时候return NO即可。
class HomeScrollView: UIScrollView {
override func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
if gestureRecognizer.isKindOfClass(UIPanGestureRecognizer) {
let pan:UIPanGestureRecognizer = gestureRecognizer as! UIPanGestureRecognizer
if pan.translationInView(self).x > 0.0 && self.contentOffset.x == 0.0 {
return false
}
}
return super.gestureRecognizerShouldBegin(gestureRecognizer)
}
}