水平スクロールが有効になっている 1 つの大きなスクロールビューが必要です。この scrollView 内に、垂直方向にスクロールできる他の 5 つのスクロールビューが必要です (たとえば)。
タッチイベントを処理する方法について誰かが正しい方向に向けることができますか?
2 つのジェスチャレコグナイザー (タップ用に 1 つ、パン用に 1 つ) を作成し、X 値と Y 値のデルタを使用して水平または垂直スワイプを計算することを考えています。方向を確認した後、大きなスクローラーまたはいずれかのスクローラーを有効または無効に設定します。これは正しいアプローチですか?
編集:上記の方法を使用する代わりに、5つのスクロールビューを大きなスクロールビューのサブビューとして追加することにより、5つのスクロールビュー(垂直スクロール)を1つの大きなスクロールビュー(水平)に追加できました。たぶん、このコードは誰かを助けることができるので、サンプルコードも提供します。
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);