Home  >  Q&A  >  body text

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

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

PHP中文网PHP中文网2633 days ago613

reply all(2)I'll reply

  • 大家讲道理

    大家讲道理2017-04-17 17:39:41

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

    - (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;
            }
            
        }
    }
        
        

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:39:41

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

    reply
    0
  • Cancelreply