文档章节

个人详情页面 tableView套scrollView

zh_iOS
 zh_iOS
发布于 2016/01/19 18:29
字数 363
阅读 153
收藏 2
tableView 设置了他的headerView 和 sectionView ,下面还要添加3个可以滚动的tableView 我们可以设置tableView
只有一个cell 然后在cell中加一个scrollView ,然后把3个tableView 加到scrollView中 。这样基本的样子就出来。

但是这样再滚动的时候会出现问题,下面的tableView可以滚动 ,底层tableView也可以滚动,效果非常差。
经过摸索想到到下面的办法 ;
对于底层tableView
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    CGFloat offset = scrollView.contentOffset.y;
    
    if (offset == self.personView.maxHeight) {
        self.hrxTableView.contentOffset = CGPointMake(0, 1);
    }
    
    if (self.hrxTableView.contentOffset.y == 0) {
        self.hrxTableView.scrollEnabled = NO;
    } else {
        self.hrxTableView.scrollEnabled = YES;
    }
}

同时设置下面的tableView当偏移量为零时不能滚动
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    CGFloat offset = scrollView.contentOffset.y;
    if (offset == 0) {
        scrollView.scrollEnabled = NO;
    }  else {
        scrollView.scrollEnabled = YES;
    }
}

首先吧下面的tableView.scrollEnabled = NO; ,这样底层的tableView就可以滚动了。然后
监听headerView的滚动 ,当headerView停止时,然后设置下面的tableView的偏移量为(0,1)
因为偏移量不为(0,0)--》下面的tableView.scrollEnabled = YES;
此时下面的tableView就可以滚动了 ,当下面的tableView滚动到最上面时,偏移量为(0,0)此时
下面的tableView.scrollEnabled = NO; ---》底层的talbeView就可以滚动了! 
如此可以很好的解决滚动冲突的问题 。并且界面也很流畅!

© 著作权归作者所有

zh_iOS
粉丝 27
博文 79
码字总数 35696
作品 0
石景山
程序员
私信 提问
加载中

评论(2)

zh_iOS
zh_iOS
TODO 不能实现无缝的滚动 需要抬下手 下面的才可以滚动41
zh_iOS
zh_iOS
另外一种实现思路就是:真个是一个scrollView 设置他的contentSize 刚好到headerView的位置,然后再在下面添加换一个scrollView 监听滚动 切换scrollView的 scrollEnabled属性 来实现类似效果。1
iOS资讯详情页实现—WebView和TableView混合使用

iOS资讯详情页实现—WebView和TableView混合使用 如果要实现一个底部带有相关推荐和评论的资讯详情页,很自然会想到WebView和TableView嵌套使用的方案。 这个方案是WebView作为TableView的T...

Mr_贱贱源源
2018/05/29
0
0
简书的滑动悬停效果

2017-11-16 171045.gif 最近,浏览简书的时候,发现简书iOS客户端的个人主页,有这种滑动悬停的效果,自己也想动手实现下。下面是我的实现效果: 2.gif 3.gif 整个代码实现过程不复杂,复杂的...

Jesse1949
2017/11/16
0
0
求助,关于在scrollView上放UIView不能正常显示的问题

我要写一个新闻app,就像网易新闻那样的,上面一个小的标题scrollView 下面一个大scrollView,大的scrollView我放了几个View,然后我创建了几个类继承于UIVew,在这几个类里面写各个页面的新闻...

暴走的小罐头瓶
2015/10/03
652
1
[2015.11.18] Objective-c UIScrollView 页面跳转 线传值

[2015.11.18] Objective-c UIScrollView 页面跳转 线传值 NSUserDefault传值 1. 新知识 A.为什么要有UIScrollView: 移动设备的屏幕⼤大⼩小是有限的,因此直接展⽰示在⽤用户眼前的内容也相当...

xtzPioneer
2015/11/19
0
0
关于UITableView的性能优化

(UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 这个代理方法的实现,在可见的页面是会重复绘制页面的,所以绝大部分人都会在这里做...

万能的匹诺曹
2016/06/23
12
0

没有更多内容

加载失败,请刷新页面

加载更多

Oracle SQL语法实例合集

如需转载请注明出处https://my.oschina.net/feistel/blog/3052024 目的:迅速激活Oracle SQL 参考:《Oracle从入门到精通》 ------------------------------------------------------------......

LoSingSang
今天
2
0
增加 PostgreSQL 服务进程的最大打开文件数

https://serverfault.com/questions/628610/increasing-nproc-for-processes-launched-by-systemd-on-centos-7 要在systemd的配置里加才行...

helloclia
今天
2
0
组合模式在商品分类列表中的应用

在所有的树形结构中最适合的设计模式就是组合模式,我们看看常用商品分类中如何使用。 先定义一个树形结构的商品接口 public interface TreeProduct { List<TreeProduct> allProducts(...

算法之名
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部