【问题标题】:How to scroll multiple tableview simultaniously如何同时滚动多个tableview
【发布时间】:2015-10-13 06:08:01
【问题描述】:

2 Tableviews 在具有不同大小的单元格高度的ViewController 中。当我滚动 view controller 时,需要同时滚动 tableview cell 两个表格单元格也需要同时隐藏。

顶部tableview中单元格的200px height,底部tableview中50px height

当我滑动 100 像素时,顶部表格单元格滚动 100 像素,底部表格单元格应滚动 25 像素。

这种平行滚动是否可行?任何建议.. 提前致谢

【问题讨论】:

    标签: ios objective-c uitableview uiscrollview parallel-processing


    【解决方案1】:

    由于UITableview 派生自UIScrollview,您可以在委托方法中获取滚动量

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView 
    

    您可以获取正在滚动的滚动视图的内容偏移量并将其分配给另一个表视图。

    在这种方法中,您应该能够访问两个表视图。

    你需要检查的属性是 contentOffset。

    firsttableview.contentOffset = scrollview.contentOffset
    

    【讨论】:

    • 谢谢,我已经使用了你提到的代理,现在两个 tableviews 以相同的 px 高度同时滚动。我可以知道如何更改内容偏移大小,以便在第一个表中滚动为 200 像素,在第二个表中滚动为 50 像素。
    • firsttableview.contentOffset = scrollview.contentOffset+200 试试这个。
    【解决方案2】:

    您可以使用UIScrollView的这个功能来滚动多个UITables并行

    func scrollViewDidScroll(scrollView: UIScrollView) {
    
        if scrollView == tableView1 {
            self.tableView1.contentOffset = CGPointMake(0, scrollView.contentOffset.y)
            self.tableView2.contentOffset = CGPointMake(0, scrollView.contentOffset.y)
        }
        else if scrollView == self.tableView2!
        {
            self.tableView1.contentOffset = CGPointMake(0, scrollView.contentOffset.y)
        }
        else if scrollView == self.bottomMenu_grid!
        {
            print(scrollView.contentOffset.x)
            self.tableView2.contentOffset = CGPointMake(scrollView.contentOffset.x, scrollView.contentOffset.y)
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2014-03-02
      • 1970-01-01
      • 1970-01-01
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多