`
janedoneway
  • 浏览: 582108 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

 
阅读更多

From:http://www.2cto.com/kf/201110/108295.html

 

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

 

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


      

 

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

 

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

 

 

 - (void)touchesBegan:(NSSet *)touches

withEvent:(UIEvent *)event;

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

 - (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 函数像下面一样实现:

 

 - (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开发进阶

    ### iPhone开发进阶知识点概述 #### 一、iPhone OS架构详解 **1.1 Cocoa Touch** Cocoa Touch层是iOS应用程序开发的核心,它提供了一系列框架,帮助开发者构建用户界面和处理用户交互。主要包括以下几个方面: - *...

    知易Cocos2D-iPhone代码实例1-8

    【知易Cocos2D-iPhone代码实例1-8】是一个关于Cocos2D-iPhone游戏引擎的实战教程集合,涵盖了从基础到进阶的多个示例,旨在帮助开发者掌握Cocos2D-iPhone的核心技术和应用。Cocos2D-iPhone是Cocos2D的一个分支,专门...

    iphone游戏开发,3D坦克,开源

    3. 控制机制:游戏提供直观的触摸屏控制,玩家可以通过滑动屏幕调整视角,点击屏幕控制坦克移动和发射炮弹。 4. 用户界面:简洁明了的用户界面,包括游戏菜单、分数显示、生命值和子弹数量等关键信息。 四、学习与...

    Apress.Beginning.iPhone.Development.Exploring.the.iOS.SDK.2014

    本书名为《Apress.Beginning.iPhone.Development.Exploring.the.iOS.SDK.2014》,该书旨在为初学者提供一个全面的指南,教授如何使用iOS 8 SDK及Objective-C来开发iPhone和iPad应用。本书的目标读者是对iOS应用开发...

    Unity3D游戏引擎教程(雨松MOMO原创文章)

    - 通过编写特定的脚本来实现对屏幕多点触摸的支持。 - 适用于手机和平板设备的游戏交互设计。 - **构建简单的游戏世界**: - 包括场景设计、地形编辑、模型放置等。 - 利用Unity内置的地形编辑器或第三方插件...

    AndEngine进阶之自定义Tiled精灵

    4. **触摸事件处理**:自定义精灵可能支持与Scene的交互,例如通过实现IOnAreaTouchListener接口,监听用户的触摸事件,从而响应用户的操作。 5. **纹理加载**:为了加载和管理非Tiled的图片资源,类可能依赖于...

    iPhone Development Guide

    以上内容涵盖了iPhone应用开发的基础和进阶知识,是《iPhone Development Guide》可能涉及的重要主题。通过深入学习和实践这些知识点,开发者可以构建出高效、稳定且用户体验优秀的iOS应用程序。

    js判断是手机访问还是电脑访问

    可以考虑结合使用其他技术,如屏幕尺寸、触摸事件等。 2. **使用第三方库**:为了提高准确性和简化代码,可以使用第三方库如`detect.js`或`device.js`来实现更精确的设备检测。 3. **服务器端处理**:除了客户端...

    From Idea to App: Creating iOS UI, animations, and gestures

    随着iPhone和iPad不同尺寸与分辨率的设备越来越多,为多种设备设计一致且优质的用户体验成为了一项挑战。本书将教会您如何使用Auto Layout等工具和技术来确保您的应用在任何设备上都能展现出色的表现。此外,还将...

Global site tag (gtag.js) - Google Analytics