View と他の 3 つの View がありますが、質問に関連するのは viewPushDatum View だけです。viewPushDatum が画面上にあり、そのどこかをタップしても何も起こらず、正常に動作しますが、viewPushDatum に UIDatePicker もあり、それをクリックするとビューが消えます。viewPushDatum を非表示にすることになっている UIGestureRecognizer が 1 つありますが、このビューの外側で何かがクリックされたときにのみ viewPushDate を非表示にしたいと考えています。以下の関数に touch.view == myUIDatePicker を追加しようとしましたが、これは機能せず、 touch.accessibilityFrame を試しましたが、機能しませんでした。ジェスチャRecognizerがviewPushDatumの外でのみ呼び出されるようにコードを変更する方法を知っている人はいますか?
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if (touch.view == viewPushDatum) {
return NO;
} else {
return YES;
}
}