iOS开发添加向上下左右四个方向的手势以及获取触摸点的坐标
2016-07-07 23:19
447 查看
#import "ViewController.h" @interface ViewController () @property (nonatomic, strong, nullable) UISwipeGestureRecognizer *upGestureRecognizer; @property (nonatomic, strong, nullable) UISwipeGestureRecognizer *downGestureRecognizer; @property (nonatomic, strong, nullable) UISwipeGestureRecognizer *leftGestureRecognizer; @property (nonatomic, strong, nullable) UISwipeGestureRecognizer *rightGestureRecognizer; @property (nonatomic, assign) CGFloat coordinateX; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor colorWithRed:0.744 green:0.730 blue:1.000 alpha:1.000]; self.upGestureRecognizer = [[UISwipeGestureRecognizer alloc] init]; [self.upGestureRecognizer addTarget:self action:@selector(upGestureRecognizer:)]; self.upGestureRecognizer.direction = UISwipeGestureRecognizerDirectionUp; [self.view addGestureRecognizer:self.upGestureRecognizer]; self.downGestureRecognizer = [[UISwipeGestureRecognizer alloc] init]; [self.downGestureRecognizer addTarget:self action:@selector(downGestureRecognizer:)]; self.downGestureRecognizer.direction = UISwipeGestureRecognizerDirectionDown; [self.view addGestureRecognizer:self.downGestureRecognizer]; self.leftGestureRecognizer = [[UISwipeGestureRecognizer alloc] init]; [self.leftGestureRecognizer addTarget:self action:@selector(leftGestureRecognizer:)]; self.leftGestureRecognizer.direction = UISwipeGestureRecognizerDirectionLeft; [self.view addGestureRecognizer:self.leftGestureRecognizer]; self.rightGestureRecognizer = [[UISwipeGestureRecognizer alloc] init]; [self.rightGestureRecognizer addTarget:self action:@selector(rightGestureRecognizer:)]; self.rightGestureRecognizer.direction = UISwipeGestureRecognizerDirectionRight; [self.view addGestureRecognizer:self.rightGestureRecognizer]; } - (void)upGestureRecognizer:(UISwipeGestureRecognizer *)gestureRecognizer { NSLog(@"上"); } - (void)downGestureRecognizer:(UISwipeGestureRecognizer *)gestureRecognizer { NSLog(@"下"); } - (void)leftGestureRecognizer:(UISwipeGestureRecognizer *)gestureRecognizer { [UIView animateWithDuration:0.5 animations:^{ self.view.frame = CGRectMake(0, 0, 375, 667); }]; } - (void)rightGestureRecognizer:(UISwipeGestureRecognizer *)gestureRecognizer { [UIView animateWithDuration:0.5 animations:^{ self.view.frame = CGRectMake(300, 0, 375, 667); }]; } - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { [UIView animateWithDuration:0.5 animations:^{ self.view.frame = CGRectMake(0, 0, 375, 667); }]; UITouch *touch = [touches anyObject]; CGPoint touchPoint = [touch locationInView:self.view]; NSLog(@"%f==%f",touchPoint.x,touchPoint.y); self.coordinateX = touchPoint.x; } - (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObject]; CGPoint touchPoint = [touch locationInView:self.view]; NSLog(@"%f==%f",touchPoint.x,touchPoint.y); if (touchPoint.x > self.coordinateX) { [UIView animateWithDuration:0.1 animations:^{ self.view.frame = CGRectMake(touchPoint.x - self.coordinateX, 0, 375, 667); }]; } } - (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObject]; CGPoint touchPoint = [touch locationInView:self.view]; NSLog(@"%f==%f",touchPoint.x,touchPoint.y); if (touchPoint.x > self.coordinateX) { [UIView animateWithDuration:0.5 animations:^{ self.view.frame = CGRectMake(280, 0, 375, 667); }]; } }
相关文章推荐
- iOS 中KVC、KVO、NSNotification、delegate 总结及区别-b
- iOS 如何把项目托管到GitHub
- ios9使用自签名ssl -9824 -9801
- iOS: removeFromSuperview方法
- IOS开发-单例模式安全写法
- ios集成第三方登陆访问scheme提示不能查询某scheme
- ios 本地通知与消息推送
- ios 之多线程 GCD
- ios 制作使用FrameWork
- 如何排查EXC_BAD_ACCESS错误 及内存增加问题
- IOS -iphone设备信息读取
- iOS 设置导航栏背景颜色,字体颜色
- iOS图片压缩
- iOS开发之OC篇(1)——初识iOS开发
- iOS证书及描述文件制作流程
- iOS: FFmpeg的使用一
- ios中写framework并调用的方法以及所遇到的问题
- iOS应用唤醒与交互
- iOS 安装Cocoa pods
- iOS开发,json解析