在Swift上编辑UItextfield时关闭键盘

时间:2014-08-20 10:35:49

标签: ios swift uitextfield

我想制作一个带有两个文本字段的计算器。有数字按钮和数学运算按钮。但单击文本字段时我无法解除键盘。我从不想显示键盘,但想要用数字按钮编辑文本字段。

touchbegans或textFieldShoulBeginEditing方法对我没用。

3 个答案:

答案 0 :(得分:7)

关于如何使用下面的Swift关闭Xcode 6.1键盘的问题的答案:

import UIKit

class ItemViewController: UIViewController, UITextFieldDelegate {

    @IBOutlet var textFieldItemName: UITextField!

    @IBOutlet var textFieldQt: UITextField!

    @IBOutlet var textFieldMoreInfo: UITextField!


    override func viewDidLoad() {
        super.viewDidLoad()

        textFieldItemName.delegate = self
        textFieldQt.delegate = self
        textFieldMoreInfo.delegate = self
    }

                       ...

    /**
     * Called when 'return' key pressed. return NO to ignore.
     */
    func textFieldShouldReturn(textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        return true
    }


   /**
    * Called when the user click on the view (outside the UITextField).
    */
   override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        self.view.endEditing(true)
   }

}

Source of this information)。

答案 1 :(得分:3)

修改

此解决方法特定于上述问题,因此请停止使用此答案。这不仅仅是解雇键盘。这是关于能够使用自定义inputView编辑文本字段,并在没有键盘可见时使文本字段可编辑。

这使您的文本字段键盘消失并仍然可以编辑。

<强>目标C

yourTextField.inputView = [[UIView alloc] initWithFrame:CGRectZero];

<强>夫特

yourTextField.inputView = UIView(frame: CGRectZero)

答案 2 :(得分:0)

试试这个

self.endEditing = YES; 

在ViewController中