UIResponder

http://blog.csdn.net/maojudong/article/details/7798138


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,这两个视图显示的关系如下图:

 

 

       从图中可以看到, 如果 inputView  inputAccessoryView 两个属性都指定了相应的视图,则 inputAccessoryView 对象显示在 inputView 对象的上面

       与输入相关的还有一个 reloadInputViews 方法用来重新载入输入视图。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值