如何使用覆盖整个视图的地图视图处理UIScreenEdgeGestureRecognizer?

Bli*_*lip 4 xcode objective-c uigesturerecognizer ios swift

我在这里有iOS程序,地图视图覆盖整个容器视图.我希望地图视图处理UIScreenEdgeRecognizer,因为它覆盖整个容器视图.我认为gestureRecognizers数组引用识别器会更好.但是地图视图的平移手势正在中断屏幕边缘识别器.我尝试了gestureRecognizer:shouldFailRequireFailureOfGestureRecognizer所有这一切,但它仍然无效.但是人们会推荐解决方案吗?我可以让gestureRecognizers容器视图的数组引用屏幕边缘识别器吗?

Ale*_*roa 6

我所做的是在边缘上添加宽度为10pt且色彩背景清晰的视图,我需要手势识别器,并将手势识别器添加到此视图中.

在图片中,右侧的白色矩形是具有手势识别器的视图.您应该更改背景颜色以清除颜色.

一种在地图视图上添加UIScreenEdgePanGestureRecognizer的方法

视图出口:

@property (weak, nonatomic) IBOutlet UIView *rightEdgeGestureView;
Run Code Online (Sandbox Code Playgroud)

将手势识别器添加到屏幕右边缘的视图中:

- (void)setupGestureRecognizer {

      UIScreenEdgePanGestureRecognizer *gestureRecognizer = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(gestureHandler:)];
      gestureRecognizer.edges = UIRectEdgeRight;
      [_rightEdgeGestureView addGestureRecognizer:gestureRecognizer];
 }
Run Code Online (Sandbox Code Playgroud)