enum LiveListScrollDirection: Int {
case none
case crazy
case left
case right
case up
case down
case horizontal
case vertical
}
func determineScrollDirection(scrollView: UIScrollView) -> LiveListScrollDirection {
var scrollDirection: LiveListScrollDirection
if self.initialContentOffset.x != scrollView.contentOffset.x && self.initialContentOffset.y != scrollView.contentOffset.y {
scrollDirection = .crazy
} else {
if self.initialContentOffset.x > scrollView.contentOffset.x {
scrollDirection = .left
} else if self.initialContentOffset.x < scrollView.contentOffset.x {
scrollDirection = .right
} else if self.initialContentOffset.y > scrollView.contentOffset.y {
scrollDirection = .up
} else if self.initialContentOffset.y < scrollView.contentOffset.y {
scrollDirection = .down
} else {
scrollDirection = .none
}
}
return scrollDirection
}
func determineScrollDirectionAxis(scrollView: UIScrollView) -> LiveListScrollDirection {
let scrollDirection: LiveListScrollDirection = self.determineScrollDirection(scrollView: scrollView)
switch scrollDirection {
case .left,.right:
return .horizontal
case .up,.down:
return .vertical
default:
return .none
}
判断ScrollView滚动方向
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...