如何在按下返回键时在Swift中隐藏键盘?

11 浏览
0 Comments

如何在按下返回键时在Swift中隐藏键盘?

我在点击文本字段时使用UITextfied,键盘会出现,但是当我按下return键时,键盘不会消失。我使用了以下代码:

func textFieldShouldReturn(textField: UITextField!) -> Bool // 当按下'return'键时调用。返回NO以忽略。

{

return true;

}

该方法中的resignfirstresponder未被调用。

0
0 Comments

问题的原因是在按下返回键后,键盘没有自动隐藏。解决方法是在按下返回键后,手动调用resignFirstResponder()方法来隐藏键盘。

textFieldShouldReturn方法中,调用textField.resignFirstResponder()来隐藏键盘,并返回true

在Xcode 6的测试版本中,自动补全功能可能有缺陷。

resignFirstResponder方法是UIResponder类的方法,用于取消当前UI元素的焦点。

在最新版本的Xcode中,不再需要在true后面加分号。

需要确保视图控制器遵循UITextFieldDelegate协议。

使用self.view.endEditing()来隐藏键盘是正确的方法。

以上方法已经成功实践。

0
0 Comments

问题的原因是键盘没有正确隐藏,解决方法是通过实现textFieldShouldReturn函数来隐藏键盘。以下是一个完整示例:

//

// ViewController.swift

//

//

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {

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

}

}

在这个示例中,我们需要将myTextField的delegate设置为ViewController,以便实现UITextFieldDelegate协议中的函数。这样,在按下return键时,textFieldShouldReturn函数会被调用,将键盘隐藏起来。

此外,还有一些其他的问题和解答,例如为什么要改变FirstViewController的类型为UIViewController, UITextFieldDelegate,以及为什么在函数中加上不必要的self等。

0
0 Comments

在Swift中,当按下返回键时隐藏键盘的方法如下:

1. 创建一个UITextField的Action Outlet,并将其连接到"Primary Action Triggered"事件。可以通过从界面编辑器的outlet inspector(屏幕左侧)中将其拖动到代码中的IBAction来实现。

2. 在IBAction方法中,调用sender.resignFirstResponder()方法,来取消第一响应者状态,从而隐藏键盘。

3. 如果页面上有多个UITextField,可以将它们都连接到同一个Action Outlet上。

简单而有效的方法,适用于Swift 2及以上版本。

以上代码和方法来源于Scott Smith的60秒视频教程,并经过验证可以正常工作。这个方法可以满足在UITableViewCell中通过返回键隐藏键盘的需求。

如果有多个UITextField,可以将它们连接到同一个Action Outlet上,避免重复代码。

非常感谢这个方法,正好解决了我需要通过返回键隐藏键盘的问题。

0