- 问题描述
两个scrollView嵌套,当滑动子scrollView到顶部或底部时,必须松手才能继续滑动父scrollView; - 解决方案
直接上代码:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView == _sv) {//_sv 子scrollview _backSV :父scrollView
if (_sv.contentOffset.y < 0 && _backSV.contentOffset.y > 0) {
[_backSV setContentOffset:CGPointMake(0, _backSV.contentOffset.y + _sv.contentOffset.y > 0 ? _backSV.contentOffset.y + _sv.contentOffset.y : 0)]
[_sv setContentOffset:CGPointZero]
return
}
CGFloat backSVMaxContentOffsetY = _backSV.contentSize.height - _backSV.frame.size.height
CGFloat maxContentOffsetY = _sv.contentSize.height - _sv.frame.size.height
if (_sv.contentOffset.y > maxContentOffsetY && _backSV.contentOffset.y < backSVMaxContentOffsetY) {
_backSV.contentOffset = CGPointMake(0, _backSV.contentOffset.y + _sv.contentOffset.y - maxContentOffsetY > backSVMaxContentOffsetY ? backSVMaxContentOffsetY : _backSV.contentOffset.y + _sv.contentOffset.y - maxContentOffsetY)
_sv.contentOffset = CGPointMake(0, maxContentOffsetY)
}
}
}