iOS关闭键盘简单实现(objc/swift)

Objective-C 代码实例方式一

[[[UIApplication sharedApplication] keyWindow] endEditing:YES];

如果一个view上有许多TextField,可以直接

[self.view endEditing:YES];

Objective-C 代码实例方式二

[[self findFirstResponderBeneathView:self] resignFirstResponder];

[[self findFirstResponderBeneathView:self]  becomeFirstResponder];//打开键盘
- (UIView*)findFirstResponderBeneathView:(UIView*)view {
    // Search recursively for first responder
    for ( UIView *childView in view.subviews ) {
        if ( [childView respondsToSelector:@selector(isFirstResponder)] && [childView isFirstResponder] )
            return childView;
        UIView *result = [self findFirstResponderBeneathView:childView];
        if ( result )
            return result;
    }
    return nil;
}

Swift方式一

UIApplication.sharedApplication().keyWindow?.endEditing(true)

Swift方式二

func findFirstResponderBeneathView(view: UIView) -> () {
        for childView in view.subviews {
            let isChildFirstResponder = childView.isFirstResponder()
            let isChildResponderSelector = childView.respondsToSelector("isFirstResponder")
            if isChildFirstResponder && isChildResponderSelector {
                childView.resignFirstResponder()
            }
            self.findFirstResponderBeneathView(childView as! UIView)
        }
    }

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 03:17:51

iOS关闭键盘简单实现(objc/swift)的相关文章

IOS 关闭键盘 退出键盘 的5种方式(转)

IOS 关闭键盘 退出键盘 的5种方式 转自“http://blog.csdn.net/w88193363/article/details/24423635” 分类: iphone2014-04-24 17:03 2197人阅读 评论(0) 收藏 举报 1.点击编辑区以外的地方(UIView) 2.点击编辑区域以外的地方(UIControl) 3.使用制作收起键盘的按钮 4.使用判断输入字元 5.关于键盘遮蔽的问题 1,点击编辑区以外的地方(UIView) 这是一种很直觉的方法,当不再需要使用虚

iOS关闭键盘的两种简单方法

方法一: //1, 关闭键盘 [[[UIApplication sharedApplication] keyWindow] endEditing:YES]; 方法二: //2, 关闭键盘 [[self findFirstResponderBeneathView:self] resignFirstResponder]; - (UIView*)findFirstResponderBeneathView:(UIView*)view { // Search recursively for first r

iOS 关闭键盘的联想功能

加入你只想输入字母,数字而不能输入汉字,如图: textfiled实现代码: _loginField.keyboardType = UIKeyboardTypeAlphabet; [_loginField setDelegate:self]; 在代理方法中实现如下代码: - (void)textFieldDidBeginEditing:(UITextField *)textField { if ([textField isEqual:_loginField]) { textField.autoc

关闭ios虚拟键盘的几种方法

在iOS应用开发中,有三类视图对象会打开虚拟键盘,进行输入操作,但如何关闭虚拟键盘,却没有提供自动化的方法.这个需要我们自己去实现.这三类视图对象分别是UITextField,UITextView和UISearchBar. 这里介绍一下UITextField中关闭虚拟键盘的几种方法. 第一种方法,使用它的委托UITextFieldDelegate中的方法textFieldShouldReturn:来关闭虚拟键盘. 在UITextField视图对象如birdNameInput所在的类中实现这个方法

iOS开发之点触textView编辑区关闭键盘

textView,textField 关闭键盘的方式网上有很多种, 最普遍的是使用键盘中回车键作为键盘关闭的信号,甚至有用户交互最差的监听键盘输入.再就是在键盘上添加关闭按钮,这个也不好,不够简约.还有在界面底部添加subView,subView中添加按钮,属于在界面上添加关闭按钮类型的,键盘弹出之后通过动画上移整个subView至键盘顶部的,这是我以前采用的一种方式.不过界面东西太多,感觉界面越简约越好. 还有一种比较接近本文的是通过点击编辑区以外的view关闭键盘,但是用户还需要自己区分哪里

iOS 开发之 - 关闭键盘 退出键盘 的5种方式

iOS 开发之 - 关闭键盘 退出键盘 的5种方式 1.点击编辑区以外的地方(UIView) 2.点击编辑区域以外的地方(UIControl) 3.使用制作收起键盘的按钮 4.使用判断输入字元 5.关于键盘遮蔽的问题 1,点击编辑区以外的地方(UIView) 这是一种很直觉的方法,当不再需要使用虚拟键盘时,只要点击虚拟键盘和编辑区域外的地方,就可以将键盘收起,下面程式码是在 UIView 中内建的触碰事件方法函式,您可以参考 Touch Panel / 触碰萤幕 / 压力感应器的基本使用方式一文

【转】iOS开发4:关闭键盘

在 iOS 程序中当想要在文本框中输入数据,轻触文本框会打开键盘.对于 iPad 程序,其键盘有一个按钮可以用来关闭键盘,但是 iPhone 程序中的键盘却没有这样的按钮,不过我们可以采取一些方法关闭它.例如,我们可以实现按下 Rerun (有时也是 Done.Research 等)键关闭键盘,或者,更人性化的,轻触背景关闭键盘. 1.首先讲一下按下Return键关闭键盘. 当按下键盘的 Return 键,会产生一个 Did End On Exit 事件,此时,我们告诉文本框要放弃控件,于是键盘

IOS开发之触摸背景关闭键盘的代码实现

直接上代码: // 触摸背景,关闭键盘 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ UITouch *touch = [touches anyObject]; UIView *view = (UIView *)[touch view]; if (view == self.view) { [weightTextField resignFirstResponder]; } } 以上代码是在一个viewContro

iOS 当键盘覆盖textFiled时简单的处理方法

//方法1--- - (void)textFieldDidBeginEditing:(UITextField *)textField { if (iPhone5) { return; } else { [UIView beginAnimations:nil context:NULL]; [UIView setAnimationDuration:0.3]; [UIView setAnimationDelegate:self]; //设定动画开始时的状态为目前画面上的样子 [UIView setAn