公司项目新的需求,类似新浪微博的首页滑动效果,写了个不成熟的小demo,swift4.0下写的,希望能给需要的同学提供一些思路。
写的时候遇到一个插曲,就是滑动scrollView的手势与项目中的左滑抽屉产生冲突,导致滑不出抽屉,经过一番的面向baidu开发,重写了UIScrollView的方法,完美的解决了,代码demo中有,在本文的尾部也会贴出来。
GitHub地址:https://github.com/vernonmatthew/funicular
如果帮到你了记得给个star✨
解决抽屉和scrollView手势冲突问题代码
class HomeScrollView: UIScrollView {
override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
if gestureRecognizer.isKind(of: UIPanGestureRecognizer.self) {
let pan:UIPanGestureRecognizer = gestureRecognizer as! UIPanGestureRecognizer
//scrollView的contentOffset.x为0时,返回false,可以左滑出抽屉
if pan.translation(in: self).x > 0.0 && self.contentOffset.x == 0.0 {
return false
}
}
return super.gestureRecognizerShouldBegin(gestureRecognizer)
}
}
网友评论