如何让键盘消失

时间:2015-04-08 16:31:50

标签: ios iphone swift

我已经看到其他主题回答了这个问题,但我的问题是我不明白所说的是什么,是编程的新手。我的应用程序有一个用户ID和密码文本字段,让用户使用当前凭据登录。输入数据后,我希望用户能够使键盘消失。

这就是我所做的。问题是,没有任何反应。或者,我不明白我写的是什么并且我没有正确地测试它(虽然我正在测试它,因为我希望我的新手用户,并且它没有按预期运行)。我感谢您给予的任何帮助。

这些文本字段和此按钮在ViewController类中定义:UIViewController。然后隐藏键盘的功能在ViewDidLoad方法中。

@IBOutlet var loginEntered: UITextField!

@IBOutlet var passwordEntered: UITextField!

@IBAction func loginButtonTapped(sender: AnyObject) {



override func viewDidLoad() {
        super.viewDidLoad()

        self.logInError = 1

        func textFieldShouldReturn(passwordEntered: UITextField!) -> Bool {

            passwordEntered.resignFirstResponder()

            return true

        }

再次感谢你,

格雷格

2 个答案:

答案 0 :(得分:1)

这是您的问题的一步一步的方法。我将主要向您展示故事板。

步骤1:转到左侧的Project Navigator并选择Main.stoyboard,然后选择要在其中添加文本字段和按钮的ViewController。

enter image description here

然后通过在Storyboard中的ViewController中的对象库中拖放来添加2个UITextfields和一个UIButton。

enter image description here

步骤2:在ViewController中添加文本域和按钮的IBOutlets -

enter image description here

Spet 3:返回故事板,选择视图控制器并单击最右侧的图标,称为连接检查器。在那里,您将看到Outlet下的文本字段和按钮名称。

enter image description here

现在通过单击并按住检查器中的插座来连接它们,然后从那里拖动到所需的文本字段或按钮。为所有人做到这一点。如果您错过了任何连接,那么您的代码无法确定哪个变量对应于哪个组件(TextFields或Button)。

enter image description here

步骤4:从故事板中选择TextField,userID,然后在Connection检查器中,您将看到名为“delegate”的Outlet(请参见下图)。这是您需要分配给ViewController的特定文本字段(userID)委托。这告诉您的Textfield,View Controller将实现其委托方法。

enter image description here

对“密码”TextField也这样做。将密码textField的委托连接到视图控制器后,它看起来像这样 -

enter image description here

现在你很高兴。

第5步: 最后,转到View Controller并添加“func textFieldShouldReturn(textField:UITextField!) - > Bool”委托方法。

enter image description here

这是我在我的设备中测试的完整解决方案。希望我已经说清楚了。

答案 1 :(得分:0)

只需要执行两个步骤

  1. 该类应符合UITextFieldDelegate协议,通过在您使用, UITextFieldDelegate的继承超类旁边声明,例如,如果您的类继承自UIViewController,它将是这样的     class ViewController: UIViewController , UITextFieldDelegate
  2. 因为该类现在符合UITextFieldDelegate协议,所以将此委托方法放在类optional func textFieldShouldReturn(_ textField: UITextField) -> Bool中的某个位置 并返回YES
  3. 嘿,请在这里查看苹果开发者指南

    https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextFieldDelegate_Protocol/#//apple_ref/occ/intfm/UITextFieldDelegate/textFieldShouldReturn