我想要一个启用水平滚动的大滚动视图。在这个滚动视图中,我想拥有(比方说)5 个其他可以垂直滚动的滚动视图。
谁能指出我如何处理触摸事件的正确方向?
我正在考虑制作两个手势识别器(1 个用于点击,1 个用于平移)并使用 X 和 Y 值的增量来计算水平或垂直滑动。检查方向后,我将大滚动条或其中一个滚动条设置为启用或禁用。这是正确的方法吗?
编辑:我没有使用上面的方法,而是通过将 5 个滚动视图添加为大滚动视图的子视图,将我的 5 个滚动视图(垂直滚动)添加到一个大滚动视图(水平)中。也许这段代码也可以帮助某人,因此也提供了示例代码。
for (int i = 0; i < NumberOfVerticalScrollers; i++) {
CGRect frame;
frame.origin.x = self.scrollView.frame.size.width * i;
frame.origin.y = 0;
frame.size = self.scrollView.frame.size;
UIScrollView *scroller = [[UIScrollView alloc] initWithFrame:frame];
scroller.directionalLockEnabled = YES;
scroller.contentSize = CGSizeMake(320, 960);
[self.scrollView addSubview:scroller];
}
self.scrollView.delegate = self;
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * NumberOfVerticalScrollers, self.scrollView.frame.size.height);