您的位置:首页 > 移动开发 > IOS开发

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];
}

很多人不清楚获取当前页面的第一响应者有什么用,比如你创建了一个右滑菜单,当前页面有个输入框,正好处在编辑之中,当你右滑出菜单的时候,需要键盘放弃第一响应者的身份,这时候使用这个方法就可以不用判断是在哪个页面,都可以放弃第一响应者。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息