1.ScrollView 嵌套ScrollerView
首先我们要知道这个代理方法,因为相关的判断就是在这里面是写的
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
具体实现
1.首先你要知道你需求是什么,比如第二个subScrollerView是要在界面滑到一定程度的时候居顶,然后实现第二个subScrollerView中的内容滚动事件
2.计算mainScrollerView滚动到一定程度的的高度- viewHeight
3.设置临界点的时候,mainScrollerView的ContentOffset和scrollEnabled ,和subScrollerView的scrollEnabled
代码如下
#pragma mark - UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
NSLog(@"scrollView=====滚动==%.2F========",scrollView.contentOffset.y);
if (scrollView == self.bgViewScrollView) {
CGFloat offset = scrollView.contentOffset.y;
if (Scale(220) - offset == 0) {
NSLog(@"==========到家啦========");
[self.bgViewScrollView setContentOffset:CGPointMake(0, Scale(220))];
self.bgViewScrollView.scrollEnabled = NO;
} else if (offset == 0) {
self.bgViewScrollView.scrollEnabled = YES;
}else if(offset < 0){
self.bgViewScrollView.scrollEnabled = NO;
}
}
}
ScrollView 嵌套TableView
和第一个思路一致,不过在实现代理的时候,要注意是否 scrollerView == tableview,然后进行相关判断
如果需要同时识别多个手势 需要实现代理
/**
同时识别多个手势
@param gestureRecognizer gestureRecognizer description
@param otherGestureRecognizer otherGestureRecognizer description
@return return value description
*/
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
网友评论