iOS开发:如何添加手势只有从最左边滑有效?

公司APP类似Uber,从最左侧滑动会出现菜单,但需要用到地图,添加全屏的tap手势会产生冲突,求大神支招,如何结局啊?急急急

阅读 5.4k
2 个回答

你是想要只能从屏幕的左边边缘处向右滑动才有效么?如果是的话,加一个边缘手势就可以解决!如下:

- (void)viewDidLoad {
    [super viewDidLoad];
    
    UIScreenEdgePanGestureRecognizer* screenEdgePan = [[UIScreenEdgePanGestureRecognizer alloc]initWithTarget:self action:@selector(action:)];
    screenEdgePan.edges = UIRectEdgeLeft;
    [self.view addGestureRecognizer:screenEdgePan];
 
}
    
-(void)action:(UIScreenEdgePanGestureRecognizer*)sender{
    if (sender.edges == UIRectEdgeLeft) {
        NSLog(@"正在从左边滑动");
        switch (sender.state) {
            case UIGestureRecognizerStateBegan:
                NSLog(@"手势开始");
                break;
            case UIGestureRecognizerStateChanged:
                NSLog(@"手势进行中");
                break;
            case UIGestureRecognizerStateEnded:
                NSLog(@"手势结束");
                break;
                
            default:
                break;
        }
        
    }
}
    
    
新手上路,请多包涵

我不会ios但是在Android里可以通过判断第一个点的x坐标位置来限定,这只是个思路,没有尝试,不知ios是否有类似的思路

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题