iOS 获取当前页面第一响应者(FirstResponder)
2016-08-09 15:42
2136 查看
先是Swift版本的,不建议使用,因为会出一些奇奇怪怪的问题
if let view = UIApplication.sharedApplication().keyWindow?.performSelector(Selector("firstResponder")) {
let first = view.takeRetainedValue() as? UIView
first?.resignFirstResponder()
}
下面是OC版本的。
+ (void)resignTheFirstResponder {
UIWindow * keyWindow = [[UIApplication sharedApplication] keyWindow];
UIView * firstResponder = [keyWindow performSelector:@selector(firstResponder)];
[firstResponder resignFirstResponder];
}
很多人不清楚获取当前页面的第一响应者有什么用,比如你创建了一个右滑菜单,当前页面有个输入框,正好处在编辑之中,当你右滑出菜单的时候,需要键盘放弃第一响应者的身份,这时候使用这个方法就可以不用判断是在哪个页面,都可以放弃第一响应者。
if let view = UIApplication.sharedApplication().keyWindow?.performSelector(Selector("firstResponder")) {
let first = view.takeRetainedValue() as? UIView
first?.resignFirstResponder()
}
下面是OC版本的。
+ (void)resignTheFirstResponder {
UIWindow * keyWindow = [[UIApplication sharedApplication] keyWindow];
UIView * firstResponder = [keyWindow performSelector:@selector(firstResponder)];
[firstResponder resignFirstResponder];
}
很多人不清楚获取当前页面的第一响应者有什么用,比如你创建了一个右滑菜单,当前页面有个输入框,正好处在编辑之中,当你右滑出菜单的时候,需要键盘放弃第一响应者的身份,这时候使用这个方法就可以不用判断是在哪个页面,都可以放弃第一响应者。
相关文章推荐
- iOS 获取当前响应链的First Responder (Swift)
- iOS中获取当前视图的第一响应者,并取消响应
- ios 获取当前视图第一响应者
- 如何获取当前视图中成为第一响应者的组件,并取消注册
- 如何获取当前视图中成为第一响应者的组件,并取消注册
- 如何获取当前视图中成为第一响应者的组件,并取消注册
- iOS 获取当前页面
- iOS获取当前网页的页面元素
- iOS 利用visibleViewController和topViewController获取当前显示的页面区别
- iOS 获取当前展示的页面
- iOS获得当前的firstResponder
- 如何获取当前视图中成为第一响应者的组件,并取消注册
- 如何获取当前视图中成为第一响应者的组件,并取消注册
- findFirstResponder(找到第一响应者)
- IOS 获取文本焦点 主动召唤出键盘(becomeFirstResponder) and 失去焦点(退下键盘)
- iOS学习笔记6 - 第一响应对象初涉(First Responder)
- ios 拿到第一响应者的当前视图
- 解析iOS开发中的FirstResponder第一响应对象
- iOS获取当前网页的页面元素
- 如何获取当前视图中成为第一响应者的组件,并取消注册