您的位置:首页 > 移动开发 > IOS开发

iOS 类似股票数据显示的可上下左右滚动TableView

2017-11-10 17:02 1666 查看
项目中使用了展示数据列表的可上下左右滚动TableView,现在有空闲时间单独抽离出来.详细实现可以参考 demo.下面只要是讲述一下实现的原理.



看一下下面的图,大概就知道思路了



1.头部TableViewHeaderView和cell都是由UILabel和UIScrollView组成.

2.添加通知,scrollView1滑动时让srollView2滑动相应的距离,scrollView2滑动时也让srollView1滑动相应的距离,就能达到预期的效果.

下面是重要的部分代码

// LCListViewCell.m

/** scrollView2滑动时发出通知 */
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (!_isNotification) {
[[NSNotificationCenter defaultCenter] postNotificationName:NotificationCellScroll object:self userInfo:@{@"offsetX":@(scrollView.contentOffset.x)}];
}
_isNotification = NO;
}
/** 设置scrollView2滑动距离 */
- (void)setRightScrollViewContentOffsetX:(CGFloat)offsetX {
[self.rightScrollView setContentOffset:CGPointMake(offsetX, 0) animated:NO];
}


// LCListScrollView.m
/** 接收到通知,滑动tableHeaderView的scrollView */
- (void)cellDidScroll:(NSNotification *)notification {
NSDictionary *info = notification.userInfo;
CGFloat offsetX = [info[@"offsetX"] doubleValue];
[self.headerScrollView setContentOffset:CGPointMake(offsetX, 0) animated:NO];
}
/** tableViewHeaderView的scrollView滑动时,设置cell的scrollView滑动 */
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView == self.headerScrollView) {
CGFloat offsetX = scrollView.contentOffset.x;
[self.listViewCell setRightScrollViewContentOffsetX:offsetX];
}
}


详细代码 demo
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios tableView
相关文章推荐