控制器不同组件中的多个滑动识别器 ios
Multiple swipe recognizer in different components of controller ios
我有一个 UIViewController
,默认滑动识别器 open/close 我的应用程序的右侧菜单(我正在使用 ECSlidingViewController
插件)。此滑动识别器设置为控制器的父视图。
以下是检测滑动以打开右侧菜单的部分代码:
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self.view addGestureRecognizer:self.slidingViewController.panGesture];}
在这个 UIViewController
中,我有一个 UIImageView
,我需要检测向所有方向(右、左、上、下)的滑动。到目前为止,我已将 Storyboard
上的所有滑动设置为 UIImageView
,但该应用程序仅检测到一个组件的滑动(父视图中打开右侧菜单的那个或UIImageView
), 不是两者。
如何检测两个组件上的滑动?
发生这种情况的原因是因为您在图像视图上的手势识别器是在 initWithCoder
期间添加的,而您的另一个是在 viewDidLoad
期间添加的,发生在 initWithCoder
之后。
如果您希望两者都发生,则需要实施 gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:
,否则 iOS 会变得贪婪,如果有多个手势识别器,则采用最新添加的手势识别器相同的手势(如您现在所见)。
我有一个 UIViewController
,默认滑动识别器 open/close 我的应用程序的右侧菜单(我正在使用 ECSlidingViewController
插件)。此滑动识别器设置为控制器的父视图。
以下是检测滑动以打开右侧菜单的部分代码:
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self.view addGestureRecognizer:self.slidingViewController.panGesture];}
在这个 UIViewController
中,我有一个 UIImageView
,我需要检测向所有方向(右、左、上、下)的滑动。到目前为止,我已将 Storyboard
上的所有滑动设置为 UIImageView
,但该应用程序仅检测到一个组件的滑动(父视图中打开右侧菜单的那个或UIImageView
), 不是两者。
如何检测两个组件上的滑动?
发生这种情况的原因是因为您在图像视图上的手势识别器是在 initWithCoder
期间添加的,而您的另一个是在 viewDidLoad
期间添加的,发生在 initWithCoder
之后。
如果您希望两者都发生,则需要实施 gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:
,否则 iOS 会变得贪婪,如果有多个手势识别器,则采用最新添加的手势识别器相同的手势(如您现在所见)。