在我们的应用程序中,您可以通过从多个第三方来源搜索选项来构建问题。这些搜索结果中的大多数都显示为全宽度的tableview单元格,因为它们的数据适合该格式(我可以在缩略图旁边显示一堆元数据文本)。
但是对于图像,集合视图更加合理。但现在我遇到了一个问题,即垂直滚动的tableview包含垂直滚动的集合视图。
当“flinging”集合视图时,滚动会突然停止,失去集合视图的惯性。触摸表格视图进行滚动会有不同的问题,因为我没有捕获到它何时到达末尾并滚动集合视图。
现在集合视图位于表格视图的单元格中,但如果必要,它也可以是对等的。我正在尝试确定使这两个滚动视图看起来像一个的最佳方法。
但是对于图像,集合视图更加合理。但现在我遇到了一个问题,即垂直滚动的tableview包含垂直滚动的集合视图。
http://www.screencast.com/t/7Z48zkkW
我可以通过捕获集合视图的 viewDidScroll
并在适当的偏移量上更新父滚动视图来使其有些工作,但仅当用户正在拖动集合视图时才能很好地工作。
self.collectionVC.scrollViewDidScroll = ^(UIScrollView *scrollView) {
@strongify(self);
if (self.tableView.contentOffset.y < self.scrollingHeightOffset && scrollView.contentOffset.y > 0) {
CGFloat maxheight = MIN(self.scrollingHeightOffset, self.tableView.contentOffset.y + scrollView.contentOffset.y);
self.tableView.contentOffset = CGPointMake(0, maxheight);
scrollView.contentOffset = CGPointMake(0, 0);
} else if (scrollView.contentOffset.y < 0 && self.tableView.contentOffset.y > -topGuide) {
CGFloat minheight = MAX(-topGuide, self.tableView.contentOffset.y + scrollView.contentOffset.y);
self.tableView.contentOffset = CGPointMake(0, minheight);
scrollView.contentOffset = CGPointMake(0, 0);
}
};
当“flinging”集合视图时,滚动会突然停止,失去集合视图的惯性。触摸表格视图进行滚动会有不同的问题,因为我没有捕获到它何时到达末尾并滚动集合视图。
现在集合视图位于表格视图的单元格中,但如果必要,它也可以是对等的。我正在尝试确定使这两个滚动视图看起来像一个的最佳方法。