0

私はこのように生成されたビューを持っています:

oneView = [[UIView alloc] initWithFrame:CGRectMake(x, y , w, h)];
oneView.tag = i;

UITapGestureRecognizer* recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap2:)];
[recognizer setNumberOfTouchesRequired:1];
[oneView addGestureRecognizer:recognizer];
recognizer.delegate = self;
[recognizer release];

- (void)handleSingleTap2:(UITapGestureRecognizer *)recognizer {
    int viewID = recognizer.view.tag;
    NSLog(@"id : %d", viewID);
}

これは機能しますが、UIView割り当てをUIWebViewまたはUIImageView割り当てに置き換えると、touchイベントがトリガーされなくなります。

どうすればそれを機能させることができますか?

4

3 に答える 3

0

userInteractionEnabled = YESを設定し、必要に応じてmultipleTouchEnabled=YESを設定します

于 2011-04-23T13:08:12.387 に答える
0

オーバーライドする必要があります

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;

関数を委任して YES を返します。

于 2011-04-23T13:31:36.277 に答える
0

についての質問については、 drawonward's Answerをご覧UIWebViewになることをお勧めします。

UIGestureRecognizer は UIWebView で動作しますか?

UIImageView パーツについては、このチュートリアルを参照してください。

UIImageView-with-zooming-tapping

ここにコードを貼り付けることはできませんでしたが、これにより、この領域がよりクリーンで読みやすくなると思います。

于 2011-04-23T13:30:09.503 に答える