注册 登录
主题 : 实现两个tableview的联动
级别: 新手上路
UID: 122244
精华: 0
发帖: 18
可可豆: 84 CB
威望: 80 点
在线时间: 92(时)
注册时间: 2012-02-08
最后登录: 2016-08-09
楼主 : 发表于: 2012-12-17 13:35    发自: Web Page

实现两个tableview的联动   



有没有人知道怎么实现两个tableview的联动的,就是一个滑动另一个跟着改变,这两个tableview竖向移动时是一起滑动的,等横向移动时右边的滑动,左边的保持不动,,左边的tableview的每行 对应右边的tableview的每一行的内容





级别: 论坛版主

状态: 已签到 - [1152天]
UID: 7391
精华: 0
发帖: 2441
可可豆: 175976 CB
威望: 174289 点
在线时间: 5798(时)
注册时间: 2009-07-29
最后登录: 2017-03-30
沙发 : 发表于: 2012-12-17 13:49    发自: Web Page

监听tableView的scroll事件


大概逻辑如下


- (void)scrollViewDidScroll:(UIScrollView *)scrollView {


if (scrollView == tableView1) {

[tableView2 setContentOffset:tableView1.contentOffset animated:YES];

}

else {

[tableView1 setContentOffset:tableView2.contentOffset animated:YES];

}

}





级别: 论坛版主

状态: 未签到 - [217天]
UID: 38060
精华: 1
发帖: 137578
可可豆: 1373714 CB
威望: 1374131 点
在线时间: 2210(时)
注册时间: 2010-11-14
最后登录: 2017-03-29
板凳 : 发表于: 2012-12-17 15:01    发自: Web Page
横向移动是什么意思?单个cell的滑动,还是整个tableView类似photos那样,切换成另一个tableView?
级别: 新手上路
UID: 122244
精华: 0
发帖: 18
可可豆: 84 CB
威望: 80 点
在线时间: 92(时)
注册时间: 2012-02-08
最后登录: 2016-08-09
3 楼:  发表于: 2012-12-18 16:48    发自: Web Page
就是左边的tableview向上滑动到哪个位置,左边的会自动跟着到那个位置,提示:这两个tableview是在一个界面得
级别: 新手上路
UID: 122244
精华: 0
发帖: 18
可可豆: 84 CB
威望: 80 点
在线时间: 92(时)
注册时间: 2012-02-08
最后登录: 2016-08-09
4 楼:  发表于: 2013-01-05 18:00    发自: Web Page
你好者g个方法可以实现不过界面太卡了,反映超慢的有没有别的方法 啊
级别: 侠客

状态: 未签到 - [89天]
UID: 300771
精华: 0
发帖: 73
可可豆: 556 CB
威望: 346 点
在线时间: 191(时)
注册时间: 2014-03-17
最后登录: 2016-11-24
5 楼:  发表于: 2015-01-12 09:29    发自: Web Page
虽然是老帖子了,但是这个方法确实挺管用的,不冲突了
级别: 侠客
UID: 69752
精华: 0
发帖: 112
可可豆: 341 CB
威望: 302 点
在线时间: 2023(时)
注册时间: 2011-05-13
最后登录: 2017-03-28
6 楼:  发表于: 2015-01-22 10:39    发自: Web Page
回 1楼(yoyeayoyea) 的帖子
这个代码是有问题的,
你运行到这句时 [tableView2 setContentOffset:tableView1.contentOffset animated:YES];
系统又会调用- (void)scrollViewDidScroll:(UIScrollView *)scrollView
然后[tableView1 setContentOffset:tableView2.contentOffset animated:YES];
然后- (void)scrollViewDidScroll:(UIScrollView *)scrollView
然后 [tableView2 setContentOffset:tableView1.contentOffset animated:YES];
......
虽然不会死掉,但是会比较卡

级别: 侠客
状态: 未签到 - [2天]
UID: 279612
精华: 0
发帖: 72
可可豆: 358 CB
威望: 438 点
在线时间: 646(时)
注册时间: 2013-12-05
最后登录: 2017-03-30
7 楼:  发表于: 2015-02-27 10:55    发自: Web Page
设置表格的y跟着动就行,代码大致这样:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    CGFloat offsetY= m_tableView.contentOffset.y;
    CGPoint timeOffsetY=date_tableView.contentOffset;
    timeOffsetY.y=offsetY;
    date_tableView.contentOffset=timeOffsetY;
    if(offsetY==0){
        date_tableView.contentOffset=CGPointZero;
    }

}

级别: 侠客

状态: 已签到 - [391天]
UID: 449179
精华: 0
发帖: 50
可可豆: 2031 CB
威望: 1254 点
在线时间: 517(时)
注册时间: 2015-03-14
最后登录: 2017-03-30
8 楼:  发表于: 2015-03-23 10:45    发自: Web Page
貌似很吊的样子。。。。。。。。。。。。。。。
噢噢噢噢噢噢噢噢哦哦哦
级别: 新手上路
UID: 434010
精华: 0
发帖: 12
可可豆: 12 CB
威望: 12 点
在线时间: 32(时)
注册时间: 2015-01-26
最后登录: 2017-03-20
9 楼:  发表于: 2015-04-30 15:36    发自: Web Page
直接 把 添加一个滑动事件吧, 自己去控制两个tableview的内容显示的位子, 因为你这个还需哟做横方向的滑动的处理
描述
快速回复

关注本帖(如果有新回复会站内信通知您)

验证问题:
苹果公司现任CEO是谁?2字 正确答案:库克

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部