我有一个带有默认滑动识别器的UIViewController
来打开/关闭我的应用的右侧菜单(我正在使用ECSlidingViewController
插件)。此滑动识别器设置为控制器的父视图。
以下是检测滑动以打开右侧菜单的代码的一部分:
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self.view addGestureRecognizer:self.slidingViewController.panGesture];}
在此UIViewController
内,我有UIImageView
,我需要检测向所有方向(向右,向左,向上,向下)的滑动。到目前为止,我已将Storyboard
上的所有滑动设置为UIImageView
,但该应用仅检测到一个组件的滑动(父视图中的滑动以打开右侧菜单或者UIImageView
),而不是两者。
如何检测两个组件的滑动?
答案 0 :(得分:1)
发生这种情况的原因是因为图片视图上的手势识别器是在initWithCoder
期间添加的,而您的另一个手势识别器是在viewDidLoad
期间initWithCoder
期间添加的。
如果你想要两者都发生,你需要实现gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:
,否则iOS会贪婪并且如果同一个手势有多个,则会添加最新的手势识别器(如你现在看到了。)