原博客 : http://www.yifeiyang.net/iphone-developer-advanced-8-touch-screen-test-event/

iPhone开发进阶(8)--- 检测屏幕触摸事件

这一回来定制 UIView 上的触摸事件,作为例子,只是简单地检测出触摸事件并显示当前坐标在控制台上。

首先添加新文件,如下图:

在显示的对话框中选中 Cocoa Touch Class 的 Objective C class ⇒ UIView

在项目的添加菜单中选择 Touch 。检测触摸时间需要实现下面的函数。

1
2
- (void)touchesBegan:(NSSet *)touches
withEvent:(UIEvent *)event;

这个函数由用户触摸屏幕以后立刻被调到。为了自定义他的行为,我们像下面来实现:

1
2
3
4
5
- (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
3
4
5
6
7
8
- (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];
}

这里用 intiWithFrame 指定的矩形区域可以任意。另外为了明确触摸的区域大小,设定其 view.backgroundColor。

虽然通过 initWithFrame 在 TouchAppDelegate 内创建了 TouchView 的实例、但是通过 addSubview:view 将管理责任交给了 window 。就是说, TouchAppDelegate 与 window 两个实例都对 TouchView 实例实施管理。所以这里用 [view release] 释放 TouchAppDelegate 的管理责任。

iphone 检测屏幕触摸事件相关推荐

  1. 移动开发:iphone开发之触摸事件详解

    转:http://blog.sina.com.cn/s/blog_8988732e01012eaf.html iPhoneOS中的触摸事件基于多点触摸模型.用户不是通过鼠标和键盘,而是通过触摸设备的屏 ...

  2. JS事件监听手机屏幕触摸事件 Touch

    JS移动客户端--触屏滑动事件 移动端触屏滑动的效果其实就是图片轮播,在PC的页面上很好实现,绑定click和mouseover等事件来完成.但是在移动设备上,要实现这种轮播的效果,就需要用到核心的t ...

  3. android 屏幕触摸事件及处理机制解读

    原创性声明:本文系作者原创,转载请附原文地址:http://blog.csdn.net/a774057695/article/details/49336123 最近实在太忙,没有写多少东西,上次承诺写 ...

  4. android dispatchtouchevent 用法,android – 检测每个触摸事件,而不会覆盖dispatchTouchEvent()?...

    回答这可能对他人有帮助.答案将有助于需要拦截触摸事件的库. 如果你不想覆盖dispatchTouchEvent()(Imp,如果你是编程库)方法的活动,那么我们可以使用Window.Callback类 ...

  5. iPhone手机屏幕三种故障及维修方法

    我使用Apple手机的朋友经常出现屏幕故障.手机屏幕坏了后,很多人都不知道问题出在哪里.最后,是否要维修. 苹果公司的官方维修点太昂贵,导致许多人受到一些不良企业的打击.现在共享通常出现在手机屏幕上的 ...

  6. Android开发--事件的处理/按键按下,弹起,触摸事件等

    android中的事件类型分为按键事件和屏幕触摸事件 事件是我们在于UI交互式发生的,我们点击一个按键时,可能就已经除非好几个事件,例如我们点击数字键"0",他会涉及到按下事件,和 ...

  7. android 触摸事件 控制,Android笔记:触摸事件的分析与总结----TouchEvent处理机制

    其他相关博文: Android中的事件类型分为按键事件和屏幕触摸事件.TouchEvent是屏幕触摸事件的基础事件,要深入了解屏幕触摸事件的处理机制,就必须掌握TouchEvent在整个触摸事件中的转 ...

  8. Android触摸事件传递分析与实践

    设计UI时,亲爱的交互设计师们总会有一些天马行空的想法,大多数情况下原生的控件已不能支持这些"看似简单"的交互逻辑,需要继承ListView.ViewPager.ScrollVie ...

  9. 知物由学 | 基于移动设备屏幕触摸数据的模拟点击检测研究与应用

    导读:随着智能设备的普及,手机游戏逐渐占据整个游戏市场的大头.伴随着手机游戏的风靡,外挂也将其邪恶的触手伸向了这一领域,反外挂的战场从 PC 端蔓延到了移动端.由于移动设备与 PC 终端之间天然存在的 ...

最新文章

  1. ssh免密登录linux服务器
  2. Aspx页面生命周期(转)
  3. 用ftp、http搭建网络yum源
  4. Android 查看每个应用的最大可用内存
  5. 一场关于Google不作恶信条的辩论会
  6. Django之Model操作
  7. ShardingSphere(六) 读写分离之mysql 主从同步配置
  8. 程序员的幽默--火车
  9. php:两个文件夹递归地比较,没有的文件自动复制过去
  10. 如何在原有的cookie里面添加值_【平面设计教程】如何创建一个漂亮又好吃的饼干呢?...
  11. 针对校园LAN的OpenFlow和软件定义网络
  12. Astah绘制UML图形
  13. 机器人领域SCI期刊总结
  14. Word毕业论文排版 公式居中 编号右对齐 及交叉引用(使用MathType公式编辑器实现)
  15. 2018-2019-2 20189215 《网络攻防技术》第二周作业
  16. 计算机本地磁盘设密码,电脑硬盘,教您电脑硬盘怎么设置密码
  17. 毕业几年LINUX 驱动研发工作心得分享
  18. 【踩坑】Win11 WSL2 中 meld 无法正常使用问题修复
  19. 用Django编写邮箱注册以及验证码
  20. linux 'stack'未声明(在此函数内第一次使用,未定义的引用`__stack_chk_fail'

热门文章

  1. 小红书话题笔记是什么意思?话题笔记发布步骤流程分享
  2. Unity 中 创建 TextMeshPro 中文字体(含常见汉字 TXT 文件)
  3. 微信之分享到朋友圈并记录分享次数
  4. win10怎么录屏幕视频带声音?有哪些需要注意的地方?
  5. STP/RSTP协议(二)
  6. 集团公司预算控制与网上费用报销系统
  7. uc 浏览器不能打开网页
  8. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java天气预报系统97z40
  9. Android_(传感器)指南针
  10. 商简智能学术成果|基于深度强化学习的联想电脑制造调度(Lenovo Schedules Laptop Manufacturing Using Deep Reinforcement Learning)