私はテキストビューの指定された部分にあるタッチにのみ応答したいUITextViewを実装しようとしています。UIGestureRecognizerとUITextView
ジェスチャ認識機能がビューに添付されていて、最初のレスポンダになるまでビューが設定されるまで正常に動作します。ビュー内のタップのポイントがXとYの値より大きい場合に行います。ファーストレスポンダになるように設定し、そのテキストビューの外側をタップすることで辞任したら
- (IBAction)textViewTapped:(UIGestureRecognizer *)sender {
CGPoint point = [sender locationOfTouch:0 inView:self.view];
NSLog(@"x ix %f, y is %f", point.x, point.y);
if (point.x > 96 && point.y > 106)
[self.myTextView becomeFirstResponder];
}
問題は、ある、私のジェスチャー認識の方法が再び呼び出されることはありません。最初のレスポンダが設定されていない領域をタップすると、私のメソッドは何度も呼び出されます。私が最初のレスポンダーを設定して辞任すると、最初にレスポンダーが辞任した後に応答しません。物事をしようとして
- (IBAction)viewTapped:(UIGestureRecognizer *)sender { [self.view endEditing:YES]; UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(textViewTapped:)]; [self.myTextView addGestureRecognizer:tap]; NSArray *gestures = [self.myTextView gestureRecognizers]; NSLog(@"got %d recognizers", [gestures count]); }
私はそれぞれの後に新しいジェスチャー認識を追加した場合、辞任、そして働くことが、明らかに良い解決策ではありません。
どのような考えですか?
' - gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:'十分です – iwill