0

Xcode 4.3.2 でまったく新しい Single View App プロジェクトを開始し、次のコードを使用するとします。

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIImageView *imageView = [[UIImageView alloc] 
                              initWithImage:[UIImage imageNamed:@"pic.jpg"]];
    [self.view addSubview:imageView];

    self.view.userInteractionEnabled = YES;
    self.view.multipleTouchEnabled = YES;

    UITapGestureRecognizer* tapRecognizer = [[UITapGestureRecognizer alloc] 
                               initWithTarget:self action:@selector(handleTap:)];
    tapRecognizer.numberOfTapsRequired = 1;

    [imageView addGestureRecognizer:tapRecognizer];
}

-(void) handleTap:(UIGestureRecognizer *) gesture {
    NSLog(@"Image tapped on");
}

handleTap画像をタップしてもメソッドが呼び出されない...ここで何かが正しく行われていませんか?

4

2 に答える 2

4

コントローラーのビューではなく、イメージ ビューでタッチを有効にする必要があります (デフォルトでは無効になっているため)。

imageView.userInteractionEnabled = YES;
于 2012-05-21T12:21:43.313 に答える
0

<UIGestureRecognizerDelegate>ヘッダー ファイルの @interface の最後にありますか?

于 2012-05-21T12:21:06.910 に答える