構造体 UIViewController - UIScrollview - UIButton
スクロールビューがボタンイベントを受け取れるようにします。したがって、ユーザーがボタンをスクロール (ドラッグ) するたびに、スクロールビューはスクロール自体として反応します。
ボタンを下にして、以下のようにイベント転送でハンドラーを移動しました
- (IBAction)buttonTouchedMove:(id)sender withEvent:(UIEvent *)event {
[[sender nextResponder] touchesMoved:[event allTouches] withEvent:event];
}
- (IBAction)buttonTouchedDown:(id)sender withEvent:(UIEvent *)event {
[[sender nextResponder] touchesBegan:[event allTouches] withEvent:event];
}
タッチの変化に合わせてスクロールビューを移動するには、以下のコードを作成しました
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
self.oldPoint = [touch locationInView:self.view];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
CGPoint offset = self.scrollView1.contentOffset;
UITouch *touch = [touches anyObject];
self.newPoint = [touch locationInView:self.view];
int diffX = newPoint.x - oldPoint.x;
offset.x = offset.x - diffX;
[scrollView1 setContentOffset:offset animated:YES];
self.oldPoint = self.newPoint;
}
しかし、スクロールビューの反応がおかしくて、触れても動かない。