scrollview tableView嵌套问题怎么解决
导读:本文共1457字符,通常情况下阅读需要5分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要:本文小编为大家详细介绍“scrollviewtableView嵌套问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“scrollviewtableView嵌套问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。正文大致思路:外层放置scrollview作为容器,容器内上部分topView,下部分tableView。当tableView滚动时,如果topV... ...
目录
(为您整理了一些要点),点击可以直达。本文小编为大家详细介绍“scrollviewtableView嵌套问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“scrollviewtableView嵌套问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
正文
大致思路:外层放置scrollview作为容器,容器内上部分topView,下部分tableView。当tableView滚动时,如果topView还在展示区域,就设置topView的y坐标,让topView跟随同步上移。
(注意:如果不设置tableView的headerView,tableView、和topView都会同时上移不是我想要的效果,所以设置tableView的headerView高度包括topView的高度,达到了完美的效果,具体实现看demo)
效果预览:
NestScrollView.gif
核心代码就是在父视图、子试图的滚动判断
//父视图滚动的回调,用于横向滚动判断
//父视图滚动的回调,用于横向滚动判断-(void)scrollViewDidScroll:(UIScrollView*)scrollView{CGFloatplaceholderOffset=0;if(self.topView.selectedIndex==0){if(self.firstTableView.contentOffset.y>CGRectGetHeight(self.topView.frame)-kItemheight){placeholderOffset=CGRectGetHeight(self.topView.frame)-kItemheight;}else{placeholderOffset=self.firstTableView.contentOffset.y;}[self.secondTableViewsetContentOffset:CGPointMake(0,placeholderOffset)animated:NO];}else{if(self.secondTableView.contentOffset.y>CGRectGetHeight(self.topView.frame)-kItemheight){placeholderOffset=CGRectGetHeight(self.topView.frame)-kItemheight;}else{placeholderOffset=self.secondTableView.contentOffset.y;}[self.firstTableViewsetContentOffset:CGPointMake(0,placeholderOffset)animated:NO];}}
//子视图滚动的回调,用于竖直方向上滚动判断
//子视图滚动的回调,用于竖直方向上滚动判断-(void)updateTopViewFrame:(UIScrollView*)scrollView{CGFloatplaceHolderHeight=CGRectGetHeight(self.topView.frame)-self.topView.itemHeight;CGFloatoffsetY=scrollView.contentOffset.y;CGFloaty=0.0;if(offsetY>=0&&(offsetY<=placeHolderHeight)){y=-offsetY;}elseif(offsetY>placeHolderHeight){y=-placeHolderHeight;}elseif(offsetY<0){y=-offsetY;}[self.topViewmas_updateConstraints:^(MASConstraintMaker*make){make.top.offset(y+kNavBarHeight);}];}
读到这里,这篇“scrollviewtableView嵌套问题怎么解决”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
scrollview tableView嵌套问题怎么解决的详细内容,希望对您有所帮助,信息来源于网络。