iPhone开发进阶(8)--- 检测屏幕触摸事件
2011-05-10 22:30
274 查看
这一回来定制 UIView 上的触摸事件,作为例子,只是简单地检测出触摸事件并显示当前坐标在控制台上。
首先添加新文件,如下图:
![](http://www.yifeiyang.net/images/iphone/touch-view1.jpg)
在显示的对话框中选中 Cocoa Touch Class 的 Objective C class ⇒ UIView
![](http://www.yifeiyang.net/images/iphone/touch-view2.jpg)
在项目的添加菜单中选择 Touch 。检测触摸时间需要实现下面的函数。
这个函数由用户触摸屏幕以后立刻被调到。为了自定义他的行为,我们像下面来实现:
上面的代码将触摸点的坐标取出,并打印到控制台上。
如果需要得到多点触摸(不只是一根手指)的信息,需要使用 anyObject 实例指定 UIView。
另外,TouchAppDelegate 的 applicationDidFinishLaunching 函数像下面一样实现:
这里用 intiWithFrame 指定的矩形区域可以任意。另外为了明确触摸的区域大小,设定其 view.backgroundColor。
虽然通过 initWithFrame 在 TouchAppDelegate 内创建了 TouchView 的实例、但是通过 addSubview:view 将管理责任交给了 window 。就是说, TouchAppDelegate 与 window 两个实例都对 TouchView 实例实施管理。所以这里用 [view release] 释放 TouchAppDelegate 的管理责任。
首先添加新文件,如下图:
![](http://www.yifeiyang.net/images/iphone/touch-view1.jpg)
在显示的对话框中选中 Cocoa Touch Class 的 Objective C class ⇒ UIView
![](http://www.yifeiyang.net/images/iphone/touch-view2.jpg)
在项目的添加菜单中选择 Touch 。检测触摸时间需要实现下面的函数。
1 2 | - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; |
1 2 | - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch* touch = [touches anyObject]; CGPoint pt = [touch locationInView:self]; printf("point = %lf,%lf/n", pt.x, pt.y); } |
如果需要得到多点触摸(不只是一根手指)的信息,需要使用 anyObject 实例指定 UIView。
另外,TouchAppDelegate 的 applicationDidFinishLaunching 函数像下面一样实现:
1 2 | - (void)applicationDidFinishLaunching:(UIApplication *)application { TouchView* view = [[TouchView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)]; view.backgroundColor = [UIColor greenColor]; [window addSubview:view]; [window makeKeyAndVisible]; [view release]; } |
虽然通过 initWithFrame 在 TouchAppDelegate 内创建了 TouchView 的实例、但是通过 addSubview:view 将管理责任交给了 window 。就是说, TouchAppDelegate 与 window 两个实例都对 TouchView 实例实施管理。所以这里用 [view release] 释放 TouchAppDelegate 的管理责任。
相关文章推荐
- iPhone开发进阶(8)--- 检测屏幕触摸事件
- iPhone开发进阶(8)--- 检测屏幕触摸事件
- iPhone开发进阶(8)— 检测屏幕触摸事件
- iphone 检测屏幕触摸事件
- iphone应用程序开发指南--触摸事件
- cocos2dx-3.6 开发技巧(二)回调函数以及动画的使用,触摸事件,android返回键,屏幕截屏
- iphone 开发周记2 触摸事件处理与简单绘图。
- iphone应用程序开发指南--触摸事件
- 检测触摸事件(用户触摸屏幕时提示信息)
- Android开发-触屏事件的获取和触摸屏幕位置
- iPhone/iPad高级应用与手游开发学习笔记:多点触摸与手势检测(三:UIPinchGestureRecognizer和UIRotationGestureRecognizer)
- Android开发-触屏事件的获取和触摸屏幕位置
- Cocos2d-x游戏开发——屏幕触摸事件
- unity3d 屏幕触摸检测事件
- iphone应用程序开发指南--触摸事件(笔记 3 )
- cocos2d-x ios游戏开发初认识(八) 触摸事件与碰撞检测
- Android开发-触屏事件的获取和触摸屏幕位置
- 移动开发:iphone开发之触摸事件详解
- iPhone/iPad高级应用与手游开发学习笔记:多点触摸与手势检测(一:UITapGestureRecognizer)
- 移动开发:iphone开发之触摸事件详解