控制器ios的不同组件中的多个滑动识别器

时间:2015-04-03 18:28:25

标签: ios ios8 uipangesturerecognizer uiswipegesturerecognizer ecslidingviewcontroller

我有一个带有默认滑动识别器的UIViewController来打开/关闭我的应用的右侧菜单(我正在使用ECSlidingViewController插件)。此滑动识别器设置为控制器的父视图。

以下是检测滑动以打开右侧菜单的代码的一部分:

-(void)viewDidAppear:(BOOL)animated {
      [super viewDidAppear:animated];
      [self.view addGestureRecognizer:self.slidingViewController.panGesture];}

在此UIViewController内,我有UIImageView,我需要检测向所有方向(向右,向左,向上,向下)的滑动。到目前为止,我已将Storyboard上的所有滑动设置为UIImageView,但该应用仅检测到一个组件的滑动(父视图中的滑动以打开右侧菜单或者UIImageView),而不是两者。

如何检测两个组件的滑动?

1 个答案:

答案 0 :(得分:1)

发生这种情况的原因是因为图片视图上的手势识别器是在initWithCoder期间添加的,而您的另一个手势识别器是在viewDidLoad期间initWithCoder期间添加的。

如果你想要两者都发生,你需要实现gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:,否则iOS会贪婪并且如果同一个手势有多个,则会添加最新的手势识别器(如你现在看到了。)