0

私のアプリでは、指をドラッグしてそれに応じてはるかに大きく移動できる小さな領域がありますUIScrollView。中UIScrollViewにはたくさんのボタンがあります。

- - -*- - -*- - -*-

ScrollView

- - 容器

- - - - ボタン

- - - - ボタン

- - - - ボタン

これはうまく機能し、UIScrollView本来あるべき方法で移動します。問題は、ドラッグが終了した後、UIScrollViewタップに反応しなくなることです。ボタンをタップしても何も起こりません。実際に少しスライドするUIScrollViewと、元の場所にリセットされ、タップに再び反応するようになります。

私はそれがコンテナの障害であると確信しています(コンテナを削除してボタンを追加するとUIScrollViewうまくいきます)が、ズーム機能が必要であり、コンテナをスクロールビューに追加することが私が知っている唯一の方法です。

- (void)draging:(UIControl *)c withEvent:ev {
    UITouch *touch = [[ev allTouches] anyObject];
    currentTouchPoint = [touch locationInView:self.view];
    NSLog(@"Draging x : %f y : %f", currentTouchPoint.x, currentTouchPoint.y);
   [_myScrollView setContentOffset:CGPointMake(currentTouchPoint.x*4, currentTouchPoint.y*2) animated:YES];
}
4

1 に答える 1

0

私は UIScrollView をサブクラス化し、これを使用しました:

#import "scrollViewWithButtons.h"

@implementation scrollViewWithButtons

- (BOOL)touchesShouldCancelInContentView:(UIView *)view
{
    return ![view isKindOfClass:[UIButton class]];
}

@end
于 2013-05-07T12:57:42.940 に答える