ios - Controller ios 不同组件中的多个滑动识别器

标签 ios ios8 uipangesturerecognizer uiswipegesturerecognizer ecslidingviewcontroller

我有一个带有默认滑动识别器的 UIViewController 来打开/关闭应用程序的右侧菜单(我正在使用 ECSlidingViewController 插件)。该滑动识别器设置为 Controller 的父 View 。

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

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

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

我怎样才能检测两个组件上的滑动?

最佳答案

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

如果你想让两者都发生,你需要实现 gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:,否则 iOS 会很贪心,如果有多个手势识别器相同的手势(如您现在所见)。

关于ios - Controller ios 不同组件中的多个滑动识别器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29437730/

相关文章:

ios - 状态栏和导航栏的颜色不同,但实际上它们应该是相同的

uisplitviewcontroller - iOS8 MGSplitViewController替代

ios - 如何增加 UINavigationBar 的高度?

ios - 向 UIPanGestureRecognizer 添加惯性

ios - 根据标签文本长度动态自定义 UITableViewCell 的高度

objective-c - 加密核心数据

ios - 当我运行应用程序时,我的 TableView 崩溃了

ios - UISearchController的错位

ios - 如何将手势限制在 UIImageView 的范围内?