0

iOS7 では、プログラムで追加されたサブビューのジェスチャ認識はトリガーされていないようですが、ストーリーボード インターフェイスを介して追加されたビューにジェスチャ認識をプログラムで追加すると、ジェスチャ認識は問題なくトリガーされます。これはiOS6で機能していましたが、iOS7で突然機能しなくなりました。私は何を間違っていますか、または何を見逃していますか?

UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doSomethingWhenTapped:)];

UIImageView *imageToTap = [[UIImageView alloc] initWithImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Transparent" ofType:@"png"]]];
imageToTap.frame = CGRectMake(0, 0, 100, 100);
imageToTap.backgroundColor = [UIColor redColor];
[imageToTap addGestureRecognizer:tapGestureRecognizer];

[self.view addSubview:imageToTap];

編集:

サンプルに userInteractionEnabled プロパティを追加するのを忘れていましたが (実際のコードで設定されています)、追加するための以下の提案により、実際の問題はランドスケープ モードで見られる奇妙なフレーム/境界の問題であることがわかりました。

助けてくれてありがとう!

4

2 に答える 2

1

UIImageViewuserInteractionEnabledデフォルトで無効になっています。したがって、手動で有効にする必要があります。

[imageToTap setUserInteractionEnabled:YES];
于 2013-09-20T06:40:24.717 に答える
0

デフォルトでは、UIImageView でのユーザー操作は無効になっています。設定imageToTap.userInteractionEnabled = YESを試してみて、それがうまくいくかどうかを確認してください。お役に立てれば

于 2013-09-20T06:40:14.807 に答える