#import "RootViewController.h"
@interface RootViewController ()
@end
@implementation RootViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
self.view.backgroundColor=[UIColor redColor];
//对touchView属性进行赋值
_touchView=[[TouchView alloc]initWithFrame:CGRectMake(40,40,100,100)];
_touchView.backgroundColor=[UIColor yellowColor];
//_touchView.multipleTouchEnabled=YES;
[self.view addSubview:_touchView];
UIGestureRecognizer *tap=[[UIGestureRecognizer alloc]initWithTarget:self action:@selector(tapAction:)];
[_touchView addGestureRecognizer:tap];
//收放手势
UIPinchGestureRecognizer *pinch=[[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(pinchAction:)];
[_touchView addGestureRecognizer:pinch];
//拖放手势
UIPanGestureRecognizer *pan=[[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(panAction:)];
[_touchView addGestureRecognizer:pan];
//旋转手势
UISwipeGestureRecognizer *swipe=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipeAction:)];
[_touchView addGestureRecognizer:swipe];
//长按手势
UILongPressGestureRecognizer *longPree=[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPressAction:)];
[_touchView addGestureRecognizer:longPree];
[super viewDidLoad];
}
//长按
-(void)longPressAction:(UILongPressGestureRecognizer*)sender{
CGFloat scale;
if (_touchView.tag==0) {
scale=2.0;
_touchView.tag=1;
}
else{
scale=0.5;
_touchView.tag=0;
}
sender.view.transform=CGAffineTransformScale(sender.view.transform,scale,scale);
}
//旋转
-(void)swipeAction:(UISwipeGestureRecognizer*)sender{
NSLog(@"图标被旋转");
switch (sender.direction) {
case UISwipeGestureRecognizerDirectionDown:
NSLog(@"向下扫");
break;
case UISwipeGestureRecognizerDirectionLeft:
NSLog(@"向左扫");
break;
case UISwipeGestureRecognizerDirectionRight:
NSLog(@"向右扫");
break;
case UISwipeGestureRecognizerDirectionUp:
NSLog(@"向上扫");
break;
default:
break;
}
}
//拖拉
-(void)panAction:(UIPanGestureRecognizer*)sender
{
if (sender.state==UIGestureRecognizerStateChanged) {
[_touchView setCenter:[sender locationInView:self.view]];
}
else if (sender.state==UIGestureRecognizerStateEnded){
_touchView.backgroundColor=[UIColor cyanColor];
}
NSLog(@"图标移动了");
}
//收放
-(void)pinchAction:(UIPinchGestureRecognizer*)sender{
sender.view.transform=CGAffineTransformScale(sender.view.transform,sender.scale,sender.scale);
//收放结束返回原来的大小
sender.scale=1.0f;
NSLog(@"图标被收放了");
}
//点击
-(void)tapAction:(UIGestureRecognizer*)sender{
NSLog(@"图像被点击了");
_touchView.backgroundColor=[UIColor yellowColor];
}
IOS开发中手势响应的部分代码
最新推荐文章于 2024-08-29 07:41:09 发布