我正在使用UITextfied,而点击textfied键盘出现,但当我按下返回键,键盘没有消失。我使用了以下代码:
func textFieldShouldReturn(textField: UITextField!) -> Bool // called when 'return' key pressed. return NO to ignore.
{
return true;
}
方法resignfirstresponder没有进入函数。
我正在使用UITextfied,而点击textfied键盘出现,但当我按下返回键,键盘没有消失。我使用了以下代码:
func textFieldShouldReturn(textField: UITextField!) -> Bool // called when 'return' key pressed. return NO to ignore.
{
return true;
}
方法resignfirstresponder没有进入函数。
当前回答
当用户点击文本键盘上的Done按钮时,将生成Did End on Exit事件;那时,我们需要告诉文本字段放弃控制,这样键盘就会消失。为了做到这一点,我们需要向控制器类添加一个动作方法。 选择ViewController.swift添加以下动作方法:
@IBAction func textFieldDoneEditing(sender: UITextField) {
sender.resignFirstResponder()}
选择主要。项目导航器中的故事板,并调出连接检查器。从Did End On Exit旁边的圆圈拖动到故事板中的黄色视图控制器图标,然后松开。将出现一个小弹出菜单,其中包含我们刚刚添加的单个操作的名称。单击textFieldDoneEditing动作来选择它,就是这样。
其他回答
为了获得自动键盘撤销,我将以下代码放在自定义文本字段类的一个方法中:
textField.addTarget(nil, action:"firstResponderAction:", forControlEvents:.EditingDidEndOnExit)
替换你的出口名称为textField。
您可以使用以下函数使应用程序解除键盘
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
self.view.endEditing(true)
return false
}
下面是一个完整的例子来更好地说明这一点:
//
// ViewController.swift
//
//
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet var myTextField : UITextField
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.myTextField.delegate = self
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
self.view.endEditing(true)
return false
}
}
代码来源:http://www.snip2code.com/Snippet/85930/swift-delegate-sample
简单的Swift 3解决方案: 将这个函数添加到以文本字段为特征的视图控制器中:
@IBAction func textField(_ sender: AnyObject) {
self.view.endEditing(true);
}
然后打开你的助理编辑器,确保你的主。Storyboard位于视图的一侧,所需的视图controller.swift文件位于另一侧。单击一个文本字段,然后从右边的实用工具面板“显示连接检查器”选项卡中选择。从“Did End on Exit”控件拖动到swift文件中的上述函数。重复该场景中的任何其他文本字段,并链接到相同的函数。
另一种主要使用故事板并轻松允许你拥有多个文本字段的方法是:
@IBAction func resignKeyboard(sender: AnyObject) {
sender.resignFirstResponder()
}
将视图控制器的所有文本字段连接到每个字段的Did End on Exit事件上的那个动作。
斯威夫特3
将下面的代码添加到你的VC中
//hide keyboard when user tapps on return key on the keyboard
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
self.view.endEditing(true);
return false;
}
对我有用