iOS UIGestureRecognizer小结
来源:互联网 发布:平安淘宝信用卡 看电影 编辑:程序博客网 时间:2024/05/02 01:10
/** * 手势识别器 1 能够为系统提供的视图对象添加触摸事件的响应方法比如(uiview uilabel uiimageview等) 2 内部封装了手势识别的过程 只需要把重心放到手势识别之后对应的操作 */- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColor greenColor]; UIView *view = [[UIView alloc]initWithFrame:[[UIScreen mainScreen] bounds]]; view.backgroundColor = [UIColor brownColor]; [self.view addSubview:view]; [view release]; UIButton *goBack = [UIButton buttonWithType:UIButtonTypeSystem]; goBack.frame = CGRectMake(20, 20, 60, 40); [goBack setTitle:@"GO" forState:UIControlStateNormal]; [view addSubview:goBack]; [goBack addTarget:self action:@selector(gun:) forControlEvents:UIControlEventTouchUpInside];// UIGestureRecognizer 是手势识别器的一个抽象的基类 只提供手势识别器的基本功能 使用具体子类(7大子类)// //轻拍手势// UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleTapGesture:)];//// 设置轻拍的次数// tap.numberOfTapsRequired = 1;//// 设置轻拍时需要手指的个数// tap.numberOfTouchesRequired = 2;//// 给视图添加手势// [view addGestureRecognizer:tap];// [tap release];// 长按手势// UILongPressGestureRecognizer *longpress = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(handleLongPressGesture:)];// 设置长按手势 触发的最短时间// longpress.minimumPressDuration = 2;// [view addGestureRecognizer:longpress];// [longpress release];// 清扫手势// UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handleSwipeGesture:)];// 设置左右方向都存在只要枚举值里有左移或者右移运算符 表示 可以按位或 同时存在// 上下和左右在一个手势识别器中不能同时存在 (若想同时存在 则创建两个清扫手势对象)// swipe.direction = UISwipeGestureRecognizerDirectionRight | UISwipeGestureRecognizerDirectionLeft;// [view addGestureRecognizer:swipe];// [swipe release];// // 平移手势// UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(handlePanGesture:)];// [view addGestureRecognizer:pan];// [pan release];//// 捏合手势// UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(handlePinchGesture:)];// [view addGestureRecognizer:pinch];// [pinch release]; // 旋转手势// UIRotationGestureRecognizer *rotation = [[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(handleRotationGesture:)];// [view addGestureRecognizer:rotation];// [rotation release]; //屏幕边缘手势 UIScreenEdgePanGestureRecognizer *screenEdgePan = [[UIScreenEdgePanGestureRecognizer alloc]initWithTarget:self action:@selector(handleScreenEdgePanGesture:)]; screenEdgePan.edges = UIRectEdgeLeft; [view addGestureRecognizer:screenEdgePan]; [screenEdgePan release];}-(void)gun:(UIButton *)butten{ butten.superview.frame = [[UIScreen mainScreen] bounds];}-(void)handleScreenEdgePanGesture:(UIScreenEdgePanGestureRecognizer *)screenEdgePan{ CGPoint point = [screenEdgePan translationInView:screenEdgePan.view]; screenEdgePan.view.transform = CGAffineTransformTranslate(screenEdgePan.view.transform, point.x, 0); [screenEdgePan setTranslation:point inView:screenEdgePan.view];}-(void)handleRotationGesture:(UIRotationGestureRecognizer *)rotation{ rotation.view.transform = CGAffineTransformRotate(rotation.view.transform, rotation.rotation); //旋转角度清零 rotation.rotation = 0.0;}-(void)handlePinchGesture:(UIPinchGestureRecognizer *)pinch{ pinch.view.transform = CGAffineTransformScale(pinch.view.transform, pinch.scale, pinch.scale); //把比例置 1 pinch.scale = 1.0;}-(void)handlePanGesture:(UIPanGestureRecognizer *)pan{ CGPoint point = [pan translationInView:pan.view]; pan.view.transform = CGAffineTransformTranslate(pan.view.transform, point.x, point.y); //将之前增量清零 [pan setTranslation:CGPointZero inView:pan.view]; }-(void)handleSwipeGesture:(UISwipeGestureRecognizer *)swipe{ swipe.view.backgroundColor = [UIColor randomColor];}-(void)handleTapGesture:(UITapGestureRecognizer *)tap{ tap.view.backgroundColor = [UIColor randomColor];}-(void)handleLongPressGesture:(UILongPressGestureRecognizer *)longPress{ //当识别到长按手势触发(也就是长按时间到达后) if (UIGestureRecognizerStateBegan == longPress.state) { longPress.view.backgroundColor = [UIColor randomColor]; } }- (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}
0 0
- iOS UIGestureRecognizer小结
- IOS UIGestureRecognizer
- IOS UIGestureRecognizer
- UIGestureRecognizer使用小结
- UIGestureRecognizer手势识别小结
- 使用iOS手势UIGestureRecognizer
- 使用iOS手势UIGestureRecognizer
- 使用iOS手势UIGestureRecognizer
- 使用iOS手势UIGestureRecognizer
- iOS手势UIGestureRecognizer
- 使用iOS手势UIGestureRecognizer
- 使用iOS手势UIGestureRecognizer
- 使用iOS手势UIGestureRecognizer
- 使用iOS手势UIGestureRecognizer
- 使用iOS手势UIGestureRecognizer
- 使用iOS手势UIGestureRecognizer
- ios 手势识别UIGestureRecognizer
- iOS手势UIGestureRecognizer
- cas 入门之三十一:cas 认证处理器-JAAS配置示例
- Perforce使用指南_forP4V
- Bone Collector(01背包)
- UI实现简单的侧滑效果
- PyDev for MyEclipse10 配置
- iOS UIGestureRecognizer小结
- FPGA高手设计实战真经100则——摘记
- 字符串逆序输出,要求调用函数实现
- memset函数使用详解
- 树或者二叉树的度怎么算??
- Cloudera Manager5 和 CDH5安装问题记录
- android应用开发详解(六)--------------事件处理机制
- I2C读写问题
- C/C++ 笔试面试题目