-(void)changeValue:(UISegmentedControl *)sender
{
for(UIGestureRecognizer *ges in imgV.gestureRecognizers)
{
//移除手势
[imgV removeGestureRecognizer:ges] ;
}
switch (sender.selectedSegmentIndex) {
case 0://轻拍
{
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapAction:)];
tap.numberOfTapsRequired = 1;
[imgV addGestureRecognizer:tap] ;
}
break;
case 1://长按
{
UILongPressGestureRecognizer *lp = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(tapAction:) ];
lp.minimumPressDuration = 1 ; //长按的时间
[imgV addGestureRecognizer:lp] ;
}
break;
case 2://轻扫
{
UISwipeGestureRecognizer *sw = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(doSwipe:)] ;
sw.direction = UISwipeGestureRecognizerDirectionLeft
|UISwipeGestureRecognizerDirectionRight ;//华东的方向
[imgV addGestureRecognizer:sw] ;
}
break;
case 3://旋转
{
UIRotationGestureRecognizer *ro = [[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(doRota:)] ;
[imgV addGestureRecognizer:ro] ;
}
break;
case 4://捏和 suofang
{
UIPinchGestureRecognizer *pin = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(doPinch:) ];
[imgV addGestureRecognizer:pin];
}
break;
case 5://拖拽
{
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(doPan:)];
[imgV addGestureRecognizer:pan] ;
}
break;
default:
break;
}
}
-(void)tapAction:(UITapGestureRecognizer *)sender
{
NSString *name = [NSString stringWithFormat:@"h%d.jpeg",arc4random()%8+1] ;
imgV.image = [UIImage imageNamed:name] ;
}
-(void)doSwipe:(UISwipeGestureRecognizer*)swipe
{
if(swipe.direction==UISwipeGestureRecognizerDirectionLeft)
{
//线判断手势的方向 然后就可以设置图片时上一张还是下一张
}
NSString *name = [NSString stringWithFormat:@"h%d.jpeg",arc4random()%8+1] ;
imgV.image = [UIImage imageNamed:name] ;
}
-(void)doRota:(UIRotationGestureRecognizer*)sender
{
imgV.transform = CGAffineTransformMakeRotation(sender.rotation) ;
}
-(void)doPinch:(UIPinchGestureRecognizer*)sender
{
imgV.transform = CGAffineTransformMakeScale(sender.scale, sender.scale) ;
}
-(void)doPan:(UIPanGestureRecognizer *)sender
{
//如果时刚开始点击
if(sender.state==UIGestureRecognizerStateBegan)
{
oldPoint = [sender locationInView:self.view] ;
}
CGPoint newPoint = [sender locationInView:self.view] ;
CGFloat dx = newPoint.x - oldPoint.x ;
CGFloat dy = newPoint.y - oldPoint.y ;
imgV.center = CGPointMake(imgV.center.x+dx, imgV.center.y+dy) ;//重新设置图片的中点
oldPoint = newPoint= newPoint ;
}
- (idReceiveMemoryWarning