2つの異なるUIViewで作業したいUIGestureRecognizerがあり、どちらもUiViewControllerの同じビュー階層にあります。UIGestureRecognizerのアクションはそれぞれでほぼ同じなので、同じ関数を呼び出して(明らかにそうなります)、実行時にどのUIViewを処理しているかを通知します。しかし、どのように?UIGestureRecognizerがオブジェクト情報を持っていることがわかりません。ドキュメントの行が欠落していますか、それとも、gestureRecognizerは、それが呼び出されているオブジェクトにアタッチされているかどうかを認識していませんか?言語の要点はそれが知っているということのようです。
あるいは、クラスの意図を誤解している可能性があります。
UITapGestureRecognizer *dblTap =
[[UITapGestureRecognizer alloc] initWithTarget: self
action: @selector(handleDblTap:)];
[viewA addGestureRecognizer: dblTap];
[viewB addGestureRecognizer: dblTap];
そして、次のことができると期待しています。
-(void)handleDblTap: (UIGestureRecognizer *)gestureRecognizer
{
if (viewA)...
実際、UIGestureRecognizerが複数のオブジェクトへの同時アタッチをサポートしていない場合、なぜこれをサポートしていないのかを知っているなら、私に教えてもらえますか?助けてくれてありがとう。