美文网首页
iOS手势总结

iOS手势总结

作者: 正直走 | 来源:发表于2017-05-02 10:21 被阅读88次

    1.轻拍手势

    - (void)tapGestureRecognizer
    {
        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] init];
        [tap addTarget:self action:@selector(tapActipon:)];
        [_bgView addGestureRecognizer:tap];
    }
    - (void)tapActipon:(UITapGestureRecognizer *)tap
    {
        NSLog(@"tap");
    }
    
    

    2.长按手势

    - (void)longPressRecognizer
    {
        UILongPressGestureRecognizer *press = [[UILongPressGestureRecognizer alloc] init];
        [press addTarget:self action:@selector(longPressAction:)];
        [_bgView addGestureRecognizer:press];
    }
    - (void)longPressAction:(UILongPressGestureRecognizer *)press
    {
        NSLog(@"press");
    }
    

    3.轻扫手势

    -(void)swipeGestureRecognizer
    {
        UISwipeGestureRecognizer *swipe =[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeAction:)];
        
        //一个清扫手势  只能有两个方向(上和下) 或者 (左或右)
        //如果想支持上下左右清扫  那么一个手势不能实现  需要创建两个手势
        swipe.direction =UISwipeGestureRecognizerDirectionLeft | UISwipeGestureRecognizerDirectionRight;
        
        [_bgView addGestureRecognizer:swipe];
    }
    -(void)swipeAction:(UISwipeGestureRecognizer *)swipe
    {
        NSLog(@"swipe");
    }
    

    4.平移手势

    -(void)panGestureTecognizer
    {
        UIPanGestureRecognizer *pan =[[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(panAction:)];
        //添加到指定视图
        [_bgView addGestureRecognizer:pan];
        
    }
    -(void)panAction:(UIPanGestureRecognizer *)pan
    {
         CGPoint position =[pan translationInView:_bgView];
        //通过stransform 进行平移交换
        _bgView.transform = CGAffineTransformTranslate(_bgView.transform, position.x, position.y);
        //将增量置为零
        [pan setTranslation:CGPointZero inView:_bgView]; 
    }
    

    5.捏合手势

    -(void)pinchGestureRecognizer
    { 
        UIPinchGestureRecognizer *pinch =[[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(pinchAction:)];
        //添加到指定视图
        [_bgView addGestureRecognizer:pinch];
    }
    -(void)pinchAction:(UIPinchGestureRecognizer *)pinch
    {
        //通过 transform(改变) 进行视图的视图的捏合
        _bgView.transform =CGAffineTransformScale(_bgView.transform, pinch.scale, pinch.scale);
        //设置比例为 1
        pinch.scale = 1;
    }
    

    6.旋转手势

    -(void)rotationGestureRecognizer
    {
        UIRotationGestureRecognizer *rotation =[[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(rotationAction:)];
        //添加到指定的视图
        [_bgView addGestureRecognizer:rotation];
        
    }
    -(void)rotationAction:(UIRotationGestureRecognizer *)rote
    {
        
        //通过transform 进行旋转变换
        _bgView.transform = CGAffineTransformRotate(_bgView.transform, rote.rotation);
        //将旋转角度 置为 0
        rote.rotation = 0; 
    }
    

    7.边缘手势

    -(void)screenEdgePanGestureRecognizer
    {
        UIScreenEdgePanGestureRecognizer *screenPan = [[UIScreenEdgePanGestureRecognizer alloc]initWithTarget:self action:@selector(screenPanAction:)];
        [_bgView addGestureRecognizer:screenPan];
    }
    
    -(void)screenPanAction:(UIScreenEdgePanGestureRecognizer *)screenPan
    {
        NSLog(@"边缘");
    }
    

    相关文章

      网友评论

          本文标题:iOS手势总结

          本文链接:https://www.haomeiwen.com/subject/emcogttx.html