Swift 3在UITextField

时间:2017-08-02 02:01:38

标签: swift3

我在同一表单上有两个UITextField和数字键盘UIButton。我不希望用户使用默认键盘,而是使用我的UIButton将值输入其中。但每次我点击textField时,默认键盘都会显示出来。

我试图将isUserInteractionEnabled设置为false,键盘没有显示,但是动作选择器功能没有触发触地事件,这就是我无法更改当前UITextField背景颜色的原因。

请帮助!!!

2 个答案:

答案 0 :(得分:0)

为UITextfield设置isUserInteractionEnabled为true并生成

 settings.addTarget(self, action: #selector(touched), for: .touchUp)

 func touched(sender: UIButton!) {
    self.view.endEditing(true)
     // change background here
    }

您也可以尝试使用resignFirstResponder()来隐藏键盘。

答案 1 :(得分:0)

尝试使用Swift 3的代码。

 import UIKit


 class ViewController: UIViewController, UITextFieldDelegate {

   @IBOutlet weak var myTextField: UITextField!


   override func viewDidLoad()
   {
    self.myTextField.delegate = self
   }

   @IBAction func Button2Pressed(_ sender: Any)
   {
    self.myTextField.text = "one"
   }

   @IBAction func Button1pressed(_ sender: Any)
   {
    self.myTextField.text = "two"
   }

   func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool
   {
     return false
   }

   override func didReceiveMemoryWarning() 
   {
     super.didReceiveMemoryWarning()
   }
 }