1、UITapGestureRecognizer //创建单击手势
- (void)viewDidLoad
{
[superviewDidLoad];
self.viewtest=[[UIViewalloc]initWithFrame:CGRectMake(50,20, 100,100)];//创建一个UIView视图
self.viewtest.backgroundColor=[UIColorredColor];//给视图设置红色背景
[self.viewaddSubview:self.viewtest];//添加当前视图
UITapGestureRecognizer *tap=[[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(changeColor:)];//创建点击手势并设置动作用来改变UIView视图的颜色
tap.numberOfTapsRequired=1;//点击手势次数为一次
(如果要实现双击效果,就让点击次数numberOfTapsRequired=2)
[self.viewtestaddGestureRecognizer:tap];//给UIView视图添加单击手势
}
//实现单击手势
-(void)changeColor:(UITapGestureRecognizer*)sender
{
self.viewtest.backgroundColor=[UIColorgreenColor];//点击视图让红色背景变成绿色
}
2、UILongPressGestureRecognizer //创建长按手势
-(void)viewDidLoad
{
[superviewDidLoad];
self.viewtest=[[UIViewalloc]initWithFrame:CGRectMake(50,20, 100,100)];//创建一个UIView视图
self.viewtest.backgroundColor=[UIColorredColor];//给视图设置红色背景
[self.viewaddSubview:self.viewtest];//添加当前视图
UILongPressGestureRecognizer*longP=[[UILongPressGestureRecognizeralloc]initWithTarget:selfaction:@selector(longpress:)];
[self.viewtestaddGestureRecognizer:longP];//给UIView视图添加长按手势
}
//实现长按手势
-(void)longpress:(UILongPressGestureRecognizer*)sender
{
self.viewtest.backgroundColor=[UIColorgreenColor];//点击视图让红色背景变成绿色
}
3、UISwipeGestureRecognizer //创建轻扫手势
- (void)viewDidLoad
{
[superviewDidLoad];
self.viewtest=[[UIViewalloc]initWithFrame:CGRectMake(50,20,250,100)];//创建一个UIView视图
self.viewtest.backgroundColor=[UIColorredColor];//给视图设置红色背景
[self.viewaddSubview:self.viewtest];//添加当前视图
UISwipeGestureRecognizer*swip=[[UISwipeGestureRecognizeralloc]initWithTarget:selfaction:@selector(swip:)];
swip.direction=UISwipeGestureRecognizerDirectionLeft;//手势方向向左
(系统提供了四种手势方向,上下左右:
UISwipeGestureRecognizerDirectionLeft;//手势方向向左
UISwipeGestureRecognizerDirectionRight;//手势方向向右
UISwipeGestureRecognizerDirectionUp;//手势方向向上
UISwipeGestureRecognizerDirectionDown;//手势方向向下 )
[self.viewtestaddGestureRecognizer:swip];
}
-(void)swip:(UISwipeGestureRecognizer*)sender
{
self.viewtest.backgroundColor=[UIColorgreenColor];//向左滑动手指让红色背景变成绿色
}
4、UIPanGestureRecognizer //创建拖拽手势
- (void)viewDidLoad
{
[superviewDidLoad];
self.viewtest=[[UIViewalloc]initWithFrame:CGRectMake(50,20,100,100)];//创建一个UIView视图
self.viewtest.backgroundColor=[UIColorredColor];//给视图设置红色背景
[self.viewaddSubview:self.viewtest];//添加当前视图
UIPanGestureRecognizer*pan=[[UIPanGestureRecognizeralloc]initWithTarget:selfaction:@selector(pan:)];
[self.viewtestaddGestureRecognizer:pan];
}
CGPoint startPoint;
-(void)pan:(UIPanGestureRecognizer*)sender
{
startPoint=self.viewtest.center;//视图起始点
CGPoint endPoint=[sender locationInView:self.view];//终止点(在父视图self.view上)
self.viewtest.transform=CGAffineTransformMakeTranslation(endPoint.x-startPoint.x,endPoint.y-startPoint.y);//拖拽视图移动到的地方
}
5、UIPinchGestureRecognizer //创建捏合手势
- (void)viewDidLoad
{
[superviewDidLoad];
self.viewtest=[[UIViewalloc]initWithFrame:CGRectMake(130,200,100,100)];//创建一个UIView视图
self.viewtest.backgroundColor=[UIColorredColor];//给视图设置红色背景
[self.viewaddSubview:self.viewtest];//添加当前视图
UIPinchGestureRecognizer*pinch=[[UIPinchGestureRecognizeralloc]initWithTarget:selfaction:@selector(pinch:)];
[self.viewtestaddGestureRecognizer:pinch];
}
-(void)pinch:(UIPinchGestureRecognizer*)sender
{
self.viewtest.transform=CGAffineTransformMakeScale(sender.scale,sender.scale);//两个手指操作放大缩小
}
6、UIRotationGestureRecognizer //创建旋转手势
- (void)viewDidLoad
{
[superviewDidLoad];
self.viewtest=[[UIViewalloc]initWithFrame:CGRectMake(130,200,100,100)];//创建一个UIView视图
self.viewtest.backgroundColor=[UIColorredColor];//给视图设置红色背景
[self.viewaddSubview:self.viewtest];//添加当前视图
UIRotationGestureRecognizer*rotation=[[UIRotationGestureRecognizeralloc]initWithTarget:selfaction:@selector(rotation:)];
[self.viewtestaddGestureRecognizer:rotation];
}
-(void)rotation:(UIRotationGestureRecognizer*)sender
{
//修改当前视图的矩阵,传入一个变化的角度值。
self.viewtest.transform=CGAffineTransformMakeRotation(sender.rotation);
}