ios触摸事件三:UIResponder

前面了解了想要响应事件就必须遵循UIResponder。那么UIResponder是怎么样的呢。让我们打开浏览器,输入https://developer.apple.com网址(苹果开发官网),点击右上角的放大镜在文本框内搜索”UIResponder Class Reference”。在搜索到的内容中点击UIResponder Class Reference。就可以查看响应的具体内容(不过需要略懂英语,略懂,,)。

UIResponder的继承关系图

我们可以看到 UIResponder 继承了oc的最基本的类NSObject。他的子类有很多:包括UIApplication、UIView、UIViewController等。在UIKit包里面。ios2.0以后的版本都可用

NS_CLASS_AVAILABLE_IOS(2_0) @interface UIResponder : NSObject {
  @private
}

- (UIResponder*)nextResponder;   /*下一个响应者*/

- (BOOL)canBecomeFirstResponder;    // default is NO 是否可以称为响应者。默认是NO
- (BOOL)becomeFirstResponder;   /*称为第一响应者*/

- (BOOL)canResignFirstResponder;    // default is YES 是否可以取消第一响应者。默认是yes
- (BOOL)resignFirstResponder;  /*取消第一响应者*/

- (BOOL)isFirstResponder; /*判断是否是第一响应者*/

/***一般所有的触摸事件都需要重写以下四个方法***/ 
/* 每一个响应者将要收到的不是 **touchesEnded:withEvent:**(触摸结束) 就是 **touchesCancelled:withEvent:** (触摸取消)消息*/
/* touch收到  **touchesBegan:withEvent:** (触摸开始)的时候开始处理*/
/*必须对手势取消的状态进行处理,避免程序崩溃*/ 
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; //
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;
- 
@end

/*UIResponder的一个类目*/
@interface UIResponder (UIResponderKeyCommands)
@property (nonatomic,readonly) NSArray *keyCommands NS_AVAILABLE_IOS(7_0); // 返回一个UIKeyCommand对象的数组
@end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值