水平方向にスクロールできるボタンの列を作成しようとしています。Pulse ニュース リーダー アプリのフィードのニュース項目にいいね!ボタンの幅と同じページサイズで UIScrollView のページングを有効にすることに成功しました。つまり、一度に画面上の 3 つのボタン | 1 | 2 | 3 | 、左にスワイプすると | になります。2 | 3 | 4 |。ここでスタックオーバーフローで見つけたメソッドを使用して、これを可能にしました。
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
if ([self pointInside:point withEvent:event]) {
return scrollView;
}
return nil;}
ボタンの行を含む UIScrollView で clipsToBounds を NO に変更し、その上に別のビューを重ねてスワイプ ジェスチャを取得します。それは完全に位置に移動し、スナップします!
しかし、最大の問題は、境界内のボタン以外のボタンをクリックできないことです! これらのボタンをクリックできるようにするにはどうすればよいですか? タッチ イベントを取得して、それらのボタンを含む UIScrollView に渡すことができると思っていましたが、上記のメソッドを使用すると、touchesBegan、touchesEnd、touchesMoved、および touchesCancelled の応答を取得できないことがわかりました。何日も苦しそうに抜け道を見つけて、私を正しい方向に向けてください。ご清聴ありがとうございました!