iOS框架研究 之 UIResponder 可以接收事件的对象
2014-08-29 11:02
453 查看
1. 简介:
此类继承自NSObject
所属的框架: /System/Library/Frameworks/UIKit.framework
定义了一些接口对象,然后响应事件,它是 UIApplication, UIView 和UIWindow等的父类
iOS 中,所有显示在界面上的对象都是从 UIResponder 直接或间接继承的。
最新版本的iOS中有三种类型事件:触摸事件,motion事件,Remote 控制事件
只要手指触摸屏幕,滑动,从屏幕离开,系统都会产生UIEvent对象类型的事件---当然包括UITouch事件
– touchesBegan:withEvent: 当用户触摸到屏幕时调用方法
– touchesMoved:withEvent: 当用户触摸到屏幕并移动时调用此方法
– touchesEnded:withEvent: 当触摸离开屏幕时调用此方法
– touchesCancelled:withEvent: 当触摸被取消时调用此方法
iOS 3.0 + 开始支持motion事件,特别是摇动设备
– motionBegan:withEvent: 运动开始时执行
– motionEnded:withEvent: 运动结束时执行
– motionCancelled:withEvent: 运动被取消时执行
iOS 4.0 + 开始支持远程事件
– remoteControlReceivedWithEvent:
下面是UIEventType三种事件类型的枚举定义
typedef enum {
UIEventTypeTouches,
UIEventTypeMotion,
UIEventTypeRemoteControl,
} UIEventType;
2.会用到的有一些“响应链”函数
– nextResponder
– isFirstResponder ***
– canBecomeFirstResponder
– becomeFirstResponder***
– canResignFirstResponder
– resignFirstResponder***
3. 输入视图管理相关:
输入视图是指当对象为 firstResponder 对象时,需要借助另外一个视图用来处理当前对象的信息输入,如 UITextView 和 UITextField 两个对象,在 UITextField 成为 firstResponder 对象时,会显示一个系统键盘,用来输入信息。这个键盘视图就是一个输入视图了。一共有两个相关的输入视图,一个是 inputView, 另一个是 inputAccessoryView,这两个视图显示的关系如下图:
![](http://images.cnblogs.com/cnblogs_com/kuku/b.jpg)
从图中可以看到, 如果 inputView 和 inputAccessoryView 两个属性都指定了相应的视图,则 inputAccessoryView 对象显示在 inputView 对象的上面。
与输入相关的还有一个 reloadInputViews 方法用来重新载入输入视图。
此类继承自NSObject
所属的框架: /System/Library/Frameworks/UIKit.framework
定义了一些接口对象,然后响应事件,它是 UIApplication, UIView 和UIWindow等的父类
iOS 中,所有显示在界面上的对象都是从 UIResponder 直接或间接继承的。
最新版本的iOS中有三种类型事件:触摸事件,motion事件,Remote 控制事件
只要手指触摸屏幕,滑动,从屏幕离开,系统都会产生UIEvent对象类型的事件---当然包括UITouch事件
– touchesBegan:withEvent: 当用户触摸到屏幕时调用方法
– touchesMoved:withEvent: 当用户触摸到屏幕并移动时调用此方法
– touchesEnded:withEvent: 当触摸离开屏幕时调用此方法
– touchesCancelled:withEvent: 当触摸被取消时调用此方法
iOS 3.0 + 开始支持motion事件,特别是摇动设备
– motionBegan:withEvent: 运动开始时执行
– motionEnded:withEvent: 运动结束时执行
– motionCancelled:withEvent: 运动被取消时执行
iOS 4.0 + 开始支持远程事件
– remoteControlReceivedWithEvent:
下面是UIEventType三种事件类型的枚举定义
typedef enum {
UIEventTypeTouches,
UIEventTypeMotion,
UIEventTypeRemoteControl,
} UIEventType;
2.会用到的有一些“响应链”函数
– nextResponder
– isFirstResponder ***
– canBecomeFirstResponder
– becomeFirstResponder***
– canResignFirstResponder
– resignFirstResponder***
3. 输入视图管理相关:
输入视图是指当对象为 firstResponder 对象时,需要借助另外一个视图用来处理当前对象的信息输入,如 UITextView 和 UITextField 两个对象,在 UITextField 成为 firstResponder 对象时,会显示一个系统键盘,用来输入信息。这个键盘视图就是一个输入视图了。一共有两个相关的输入视图,一个是 inputView, 另一个是 inputAccessoryView,这两个视图显示的关系如下图:
![](http://images.cnblogs.com/cnblogs_com/kuku/b.jpg)
从图中可以看到, 如果 inputView 和 inputAccessoryView 两个属性都指定了相应的视图,则 inputAccessoryView 对象显示在 inputView 对象的上面。
与输入相关的还有一个 reloadInputViews 方法用来重新载入输入视图。
相关文章推荐
- iOS框架研究 之 UIResponder 可以接收事件的对象(一)
- iOS框架研究 之 UIResponder 可以接收事件的对象(一)
- iOS框架研究 之 UIResponder 可以接收事件的对象(一)
- iOS框架研究 之 UIResponder 可以接收事件的对象(一)
- iOS 中的事件、响应者对象、UIResponder
- iOS UIResponder 触摸事件 运动事件 响应对象
- Cocoa 框架 For iOS(二)对象的分配初始化、内省、单
- SVGDOM鼠标事件目标对象研究
- iOS Foundation框架 -3.利用NSNumber和NSValue将非OC对象类型数据存放到集合
- iOS多线程的初步研究(七)-- dispatch对象
- as3中解决响应键盘事件时停顿一下的问题,让对象可以八方移动
- 关于PHP-Zend framework2 框架 学习过程。 阅前须知: ZF2中的配置文件是可以静态文件配置来注册和通过相关函数动态注册。 1.EventManager(事件驱动),关于事件驱动,在ZF2相关资料没有详细说明,可以参考ANDROID的事件驱动,MFC的消息响应/事件驱动。
- iOS动态特性初研究(利用JSON动态创建类型和对象)
- 晚绑定场景下对象属性赋值和取值可以不需要Pro“.NET研究”pertyInfo
- Cocoa 框架 For iOS(二)对象的分配初始化、内省、单例
- IOS中处理解析数据用JSON上传的对象和可以是JSON
- 无线客户端框架设计(5.1):将JSON映射为实体对象(iOS篇)
- UITouch对象应用实例-触摸跟随特效,在ViewController中控制管理view接收的touch事件
- as3.0 EventDispatcher 事件派发和碰撞的例子.大家可以研究研究.
- JTABLE模型对象的表格模型事件可以监听表格的修改