手势的6种使用方法
-(void)viewDidLoad{[superviewDidLoad];//Doanyadditionalsetupafterloadingtheview.UIImageView*p_w_picpathView=[[UIImageViewalloc]initWithFrame:CGRectMake(20,30,280,430)];p_w_picpathView.p_w_picpath=[UIImagep_w_picpathNamed:@"2.jpg"];//将用户交互打开,,切记只有两个UIImage和UILabel都要打开交互[p_w_picpathViewsetUserInteractionEnabled:YES];[self.viewaddSubview:p_w_picpathView];[p_w_picpathViewrelease];/*//手势使用看继承关系,,,有没有自己的初始化方法//1.点击UITapGestureRecognizer*tap=[[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(tapAction:)];//1.1设置要点击几次才会触发方法tap.numberOfTapsRequired=3;//1.2需要几个手指点击tap.numberOfTouchesRequired=2;//1.3将手势添加到p_w_picpathView上[p_w_picpathViewaddGestureRecognizer:tap];[taprelease];*//*//2.长按UILongPressGestureRecognizer*longPress=[[UILongPressGestureRecognizeralloc]initWithTarget:selfaction:@selector(longPressAction:)];//1.1判定为长按手势需要的最短时间longPress.minimumPressDuration=3;//1.2判定为长按的过程中,允许用户手指移动的距离longPress.allowableMovement=300;[p_w_picpathViewaddGestureRecognizer:longPress];[longPressrelease];*//*//3.旋转UIRotationGestureRecognizer*rotation=[[UIRotationGestureRecognizeralloc]initWithTarget:selfaction:@selector(rotationAction:)];[p_w_picpathViewaddGestureRecognizer:rotation];[rotationrelease];*//*//4.捏合UIPinchGestureRecognizer*pinch=[[UIPinchGestureRecognizeralloc]initWithTarget:selfaction:@selector(pinchAction:)];[p_w_picpathViewaddGestureRecognizer:pinch];[pinchrelease];*//*//5.拖拽UIPanGestureRecognizer*pan=[[UIPanGestureRecognizeralloc]initWithTarget:selfaction:@selector(panAction:)];[p_w_picpathViewaddGestureRecognizer:pan];[panrelease];*///6.清扫UISwipeGestureRecognizer*swipe=[[UISwipeGestureRecognizeralloc]initWithTarget:selfaction:@selector(awipeAction:)];[p_w_picpathViewaddGestureRecognizer:swipe];//清扫的方向,向左(如果要四个方向,就只能加四个手势)swipe.direction=UISwipeGestureRecognizerDirectionLeft;[swiperelease];}//6.清扫-(void)awipeAction:(UISwipeGestureRecognizer*)awipe{if(awipe.direction==UISwipeGestureRecognizerDirectionLeft){NSLog(@"向左");}NSLog(@"清扫");}//5.拖拽-(void)panAction:(UIPanGestureRecognizer*)pan{UIImageView*view=(UIImageView*)pan.view;//获得手势经过的点CGPointp=[pantranslationInView:view];//对视图的transform属性改变view.transform=CGAffineTransformTranslate(view.transform,p.x,p.y);//对拖拽的位置进行初始化[pansetTranslation:CGPointZeroinView:view];//NSLog(@"拖拽");}//4.捏合-(void)pinchAction:(UIPinchGestureRecognizer*)pinch{//试图的TRanform属性UIImageView*view=(UIImageView*)pinch.view;//捏合的x,y的方向//view.transform=CGAffineTransformMakeScale(pinch.scale,pinch.scale);//捏合后重置//在原有的基础上在捏合view.transform=CGAffineTransformScale(view.transform,pinch.scale,pinch.scale);pinch.scale=1;NSLog(@"捏合");}//3.旋转-(void)rotationAction:(UIRotationGestureRecognizer*)rotation{//视图的transform属性---变形//1.获得添加手势的视图UIImageView*p_w_picpathView=(UIImageView*)rotation.view;//2.旋转的角度(属性,角度)p_w_picpathView.transform=CGAffineTransformRotate(p_w_picpathView.transform,rotation.rotation);rotation.rotation=0;//NSLog(@"旋转");}//2.长按-(void)longPressAction:(UILongPressGestureRecognizer*)longPress{//长按的方法在手势的各个状态都会触发,所以需要进行判断//longPress.stateif(longPress.state==UIGestureRecognizerStateBegan){NSLog(@"长按开始喽噢!!");}elseif(longPress.state==UIGestureRecognizerStateEnded){NSLog(@"长按结束了呢!!");}}//1.点击点击手势,的触发方法-(void)tapAction:(UITapGestureRecognizer*)tap{NSLog(@"快看,那是个塔!");}-(void)didReceiveMemoryWarning{[superdidReceiveMemoryWarning];//Disposeofanyresourcesthatcanberecreated.}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。