私が現在持っているもの:
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、私にとっては意味がありません。UIViewUIImageView
私が欲しいもの:
を表示するUIViewと、そのUIImage上のすべての相互作用が無効になりchildViewControllerます。
私が試したこと:
現在、私はこれを持っています:
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
NO にするUIViewと、UIImageは表示されません。
のようなものを入れるとmyChildViewController.view.userInteractionEnabled = NO、ジェスチャーはすでに開始されているため、機能しません。もちろん、ジェスチャーが開始される前にそれを使用すると、すべてが意図したとおりに機能します。しかし、問題は、私が使用できないことUITableViewです.