如何同时滚动多个tableview
Posted
技术标签:
【中文标题】如何同时滚动多个tableview【英文标题】:How to scroll multiple tableview simultaniously 【发布时间】:2015-10-13 06:08:01 【问题描述】:2 Tableviews
在具有不同大小的单元格高度的ViewController
中。当我滚动 view controller
时,需要同时滚动 tableview cell
两个表格单元格也需要同时隐藏。
顶部tableview中单元格的200px height
,底部tableview中50px height
。
当我滑动 100 像素时,顶部表格单元格滚动 100 像素,底部表格单元格应滚动 25 像素。
这种平行滚动是否可行?任何建议.. 提前致谢
【问题讨论】:
【参考方案1】:由于UITableview
派生自UIScrollview
,您可以在委托方法中获取滚动量
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
您可以获取正在滚动的滚动视图的内容偏移量并将其分配给另一个表视图。
在这种方法中,您应该能够访问两个表视图。
你需要检查的属性是 contentOffset。
firsttableview.contentOffset = scrollview.contentOffset
【讨论】:
谢谢,我已经使用了你提到的代理,现在两个 tableviews 以相同的 px 高度同时滚动。我可以知道如何更改内容偏移大小,以便在第一个表中滚动为 200 像素,在第二个表中滚动为 50 像素。 firsttableview.contentOffset = scrollview.contentOffset+200 试试这个。【参考方案2】:您可以使用UIScrollView
的这个功能来滚动多个UITable
s并行
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)
【讨论】:
以上是关于如何同时滚动多个tableview的主要内容,如果未能解决你的问题,请参考以下文章