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

zhunjiee
  • 260

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

回复
阅读 4.3k
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;
        }
        
    }
}
    
    
FrankL
  • 1
新手上路,请多包涵

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

宣传栏