我正在尝试设计类似于此的视图:
也就是说,我在另一个UIScrollView
内有一个UIScrollView
。浅灰色的滚动视图是父级:它占据整个屏幕宽度,仅用于垂直滚动。其中的滚动视图(深灰色)仅占据其父级宽度的一部分,仅用于水平滚动。
我想要实现的行为是:我希望能够同时垂直滚动父滚动视图的所有内容,包括内部滚动视图中的内容。但是,另一方面,我希望能够仅水平滚动内部滚动视图。
我设法避免通过将其内容宽度设置到屏幕来水平滚动父滚动视图,但我无法避免在其内部垂直滚动滚动视图:我希望内部的滚动视图仅垂直滚动当整个父滚动视图发生时。
我该如何管理这种情况?谢谢!
编辑。我试图这样做:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView == self.childScrollView) {
[self.parentScrollView setContentOffset:CGPointMake(self.parentScrollView.contentOffset.x, self.childScrollView.contentOffset.y)];
[scrollView setContentOffset:CGPointMake(scrollView.contentOffset.x, 0)];
}
}
我正在尝试做的是,当垂直拖动子视图控制器时,滚动其父视图控制器,该控制器也应该滚动子视图控制器。也就是说,当垂直拖动子视图控制器时,我希望整个父滚动视图(包括子视图)垂直滚动相同的偏移量。但是当水平拖动子视图控制器时,我只想滚动子视图控制器本身并保持其父视图固定。我仍然无法实现这种行为,有什么帮助吗?
答案 0 :(得分:0)
添加点击手势怎么样?
类似
向滚动视图添加点按手势
最初设置scrollDarkGrey.enabled = NO
点击深灰色scrollView
时scrollDarkGrey.enabled =YES
然后点击父滚动scrollDarkGrey.enabled = NO
答案 1 :(得分:0)
尝试将内部scrollView的高度设置为父滚动视图内容的高度。