StockView 0.0.1

StockView 0.0.1

测试测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2017年10月

jezz 维护。



StockView 0.0.1

  • 作者
  • Jezz

股票滚动控件

  • 左右滑动时,第一列位置不变,并且头部一起联动。
  • 上下滑动时,头部不动,内容部分正常滑动。
  • 获取到当前行的点击事件。

实现原理

  • 顶部不变的头部使用 heightForHeaderInSection 显示,由标题和内容两部分组成,内容部分使用 UIScrollView 作为容器。
  • 内容部分,类似于头部的结构,使用 cellForRowAtIndexPath 实现 Cell,分为左右两边部分,左边为 Label,右边使用 UIScrollView 作为容器。
  • 基于以上的结构,在任意一个 UIScrollView 滑动的时候,头部的 UIScrollView 和 Cell 的 UIScrollView 一起滚动,代码片段如下:
- (void)linkAgeScrollView:(UIScrollView*)sender{
    NSArray* visibleCells = [self.stockTableView visibleCells];
    for (StockViewCell* cell in visibleCells) {
        if (cell.rightContentScrollView != sender) {
            cell.rightContentScrollView.delegate = nil;//disable send scrollViewDidScroll message
            [cell.rightContentScrollView setContentOffset:CGPointMake(sender.contentOffset.x, 0) animated:NO];
            cell.rightContentScrollView.delegate = self;//enable send scrollViewDidScroll message
        }
    }
    if (sender != self.headScrollView) {
        self.headScrollView.delegate = nil;//disable send scrollViewDidScroll message
        [self.headScrollView setContentOffset:CGPointMake(sender.contentOffset.x, 0) animated:NO];
        self.headScrollView.delegate = self;//enable send scrollViewDidScroll message
    }
    
    _lastScrollX = sender.contentOffset.x;
}