首页 > 代码库 > UIResponder笔记
UIResponder笔记
- UIResponder是什么
可以响应UIEvent的类,是UIApplication
,UIView
及UIViewController
的父类。它的父类是NSObject
- 管理第一响应者。
- 是否是第一响应者
func isFirstResponder() -> Bool
- 成为第一响应者
func becomeFirstResponder() -> Bool
。只有当前的第一响应者可以放弃成为第一响应者,且这个UIResponder可以成为第一响应者,这个UIResponder才成为第一响应者。 若调用这个函数的是UIView
的实例,那么它一定要在视图树(view hierarchy)上。 - 放弃成为第一响应者
func resignFirstResponder() -> Bool
- 是否是第一响应者
管理inputview
这些方法主要是为了处理输入框或textview成为第一响应者时的键盘。默认情况下,inputview
是键盘,inputAccessoryView
是键盘上面的view,可以达到键盘上面有输入框跟着键盘一起出现或消失的效果。
也可以对其他的子类设置自己的inputview。- (BOOL)becomeFirstResponder { [super becomeFirstResponder]; [self.superview addSubview:self.inputView]; return YES; } [button becomeFirstResponder]; //button的inputview会被加到父view上。
处理touch的事件
func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?) func touchesEstimatedPropertiesUpdated(_ touches: Set<UITouch>)
处理Motion Events
只提供开始和结束的回调func motionBegan(_ motion: UIEventSubtype, with event: UIEvent?) func motionEnded(_ motion: UIEventSubtype, with event: UIEvent?) func motionCancelled(_ motion: UIEventSubtype, with event: UIEvent?)
处理远程处理事件
func remoteControlReceived(with event: UIEvent?)
更加厉害的分享
UIResponder笔记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。