TableViewCell同时向上下两个方向滑动(证券类App)

在证券类App开发过程中,常常遇到对不同条目的各种价格显示,把他们放在同一行显示时,字体会显得很小;放在不同行,对比起来就不会太直观.在同一行中采用UIScrollView,通过手势的左右拖动来展示不同的价格,是比较折中的解决方案,效果如下图:

上下两个方向滑动

UITableView能实现上下滑动,在每一个Cell中添加UIScrollView,实现左右滑动.当每个UIScrollView滑动时,让UITableView的各个Cell随着滑动,核心实现方法如下:

#pragma mark - UIScrollViewDelegate

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    NSArray *cells = self.tableV.visibleCells;
    [cells enumerateObjectsUsingBlock:^(ZDTableViewCell *obj, NSUInteger idx, BOOL * _Nonnull stop) {
        if (obj != self) {
            obj.scrollV.contentOffset = scrollView.contentOffset;
        }
    }];
    
    ZDHeaderView *headerV = self.tableV.headerV;
    headerV.scrollV.contentOffset = scrollView.contentOffset;
}

UITableView的'名称'所在的行,要求UITableView上下滑动时,悬停于头部,可以利用UITableView的UITableViewStylePlain样式,并把'名称'所在行放在SectionHeader的位置,实现方法如下:

#pragma mark - UITableViewDelegate
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    return self.headerV;
}

- (ZDHeaderView *)headerV{
    if (!_headerV) {
        _headerV = [[ZDHeaderView alloc] initWithFrame:CGRectMake(0, 0, ScreenSize.width, HeaderHeight)];
    }
    return _headerV;
}

具体实现请下载
ScrollAtTwoDirection

收藏和喜欢都是对我的鼓励和支持~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容