手势

来源:互联网 发布:js包含字符串 编辑:程序博客网 时间:2024/03/29 07:21
//手势
    
    //轻拍手势
    
   //轻拍手势UITap
   //创建轻拍手势对象
    
   UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapAction:)];
    
   //设置手指头个数
   //tap.numberOfTouchesRequired = 2;
    
   //给手指头设置轻拍属性
   tap.numberOfTapsRequired = 2;
    
   //把轻拍手势添加到redView
   [self.rootView.redView addGestureRecognizer:tap];
    
    
   //长按手势UILong
   
   UILongPressGestureRecognizer *longPress =[[UILongPressGestureRecognizer alloc] initWithTarget:selfaction:@selector(longPressAction:)];
   //给长按设置一个长按时间
   longPress.minimumPressDuration = 3;
    
   [self.rootView.redView addGestureRecognizer:longPress];
    [longPressrelease];
    
   //轻扫手势UISwipe
    
   //清扫手势默认是从左往右
   UISwipeGestureRecognizer *swip = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipAction:)];
   [self.rootView.redView addGestureRecognizer:swip];
   //设置清扫手势的方向
   swip.direction = UISwipeGestureRecognizerDirectionLeft;
    
    
   //平移手势UIPan
    
   UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(panAction:)];
   [self.rootView.redView addGestureRecognizer:pan];
    [panrelease];
    
    
   //捏合手势UIPinch
    
   UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(pinchAction:)];
   [self.rootView.redView addGestureRecognizer:pinch];
    [pinchrelease];
    
    
   //旋转手势UIRotation
    
   UIRotationGestureRecognizer *rotation =[[UIRotationGestureRecognizer alloc] initWithTarget:selfaction:@selector(rotationAction:)];
   [self.rootView.redView addGestureRecognizer:rotation];
    [rotationrelease];
    
    
    
}
#pragma  mark - 轻拍手势UITap
- (void)tapAction:(UIGestureRecognizer *)sender
{
   self.rootView.redView.backgroundColor = [UIColorcreatRandomColor];
}

#pragma mark - 长按手势UILong
- (void)longPressAction:(UIGestureRecognizer *)sender
{
   //判断长按手势,触发开始的时候执行
    if(sender.state == UIGestureRecognizerStateBegan) {
       self.rootView.redView.backgroundColor = [UIColorcreatRandomColor];
    }
}

#pragma mark - 清扫手势UISwip
- (void)swipAction:(UIGestureRecognizer *)sender
{
   self.rootView.redView.backgroundColor = [UIColorcreatRandomColor];
}

#pragma  mark - 平移手势UIPan
- (void)panAction:(UIGestureRecognizer *)sender
{
   //实现redview跟着平移手势一块动
   //获取平移手势的平移量
    CGPointpoint = [((UIPanGestureRecognizer*)sender)translationInView:sender.view];
   //让redView根据该平移量平移
   //self.rootView.redView.transform =CGAffineTransformtranslation(point.x , point.y);
   self.rootView.redView.transform =CGAffineTransformTranslate(sender.view.transform, point.x,point.y);   //self.rootView.redView.frame = CGRectMake(point.x, point.y, 100,100);
    [sendersetTranslation:CGPointZero inView:sender.view];
    
}

#pragma mark - 捏合手势UIPinch
- (void)pinchAction:(UIPinchGestureRecognizer *)sender
{
   //让redView按照手势放大缩小
   //self.rootView.redView.transform =CGAffineTransformMakeScale(sender.scale, sender.scale);
    
   self.rootView.redView.transform =CGAffineTransformScale(sender.view.transform, sender.scale,sender.scale);
    sender.scale= 1.0;
}

#pragma mark - 旋转手势UIRotation
- (void)rotationAction:(UIRotationGestureRecognizer *)sender
{
   self.rootView.redView.transform =CGAffineTransformRotate(sender.view.transform,sender.rotation);
   self.rootView.redView.backgroundColor = [UIColorcreatRandomColor];
}



- (void)didReceiveMemoryWarning {
    [superdidReceiveMemoryWarning];
    // Disposeof any resources that can be recreated.
}
0 0
原创粉丝点击