我有一个带有默认滑动识别器的 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/