私が現在持っているもの:
UIViewController
メインの中に子供がいUIViewController
ます。この子UIViewController
には がありますがUITableView
、その中には何でもあります ( UIScrollView
、UIImageView
、異なるUIViews
サブクラスの構成)。
私のメインUIViewController
には がGestureRecognizerDelegate
あるので、ジェスチャーが行われると、次のようにコールバックを受け取ります。
- (void)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer movedWithTouches:(NSSet*)touches andEvent:(UIEvent *)event;
- (void)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer endWithTouches:(NSSet*)touches andEvent:(UIEvent *)event;
@optional
- (void)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer beganWithTouches:(NSSet*)touches andEvent:(UIEvent *)event;
メインの上で行われる特定のジェスチャーについてUIViewController
、私UIView
はUIImageView
. したがって、基本的に、Y < 100 で上から下にタッチすると、UIView がアニメーション化されて画像が表示され、画面から指を離すと、UIView
上に戻ります。Apple が提供する通知センターによく似ていますが、スクロールを制御できず、上から 200 ピクセルしか表示されない点が異なります。
問題:
理論的にUIView
は、 が階層UIImage
の最上位にありますが、その領域に指を置いて動き続けると、その下にある が動いているUIView
のが見えます。でこれらのジェスチャーをキャプチャする必要があるためUITableView
、私にとっては意味がありません。UIView
UIImageView
私が欲しいもの:
を表示するUIView
と、そのUIImage
上のすべての相互作用が無効になりchildViewController
ます。
私が試したこと:
現在、私はこれを持っています:
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
NO にするUIView
と、UIImage
は表示されません。
のようなものを入れるとmyChildViewController.view.userInteractionEnabled = NO
、ジェスチャーはすでに開始されているため、機能しません。もちろん、ジェスチャーが開始される前にそれを使用すると、すべてが意図したとおりに機能します。しかし、問題は、私が使用できないことUITableView
です.