我在同一表单上有两个UITextField和数字键盘UIButton。我不希望用户使用默认键盘,而是使用我的UIButton将值输入其中。但每次我点击textField时,默认键盘都会显示出来。
我试图将isUserInteractionEnabled
设置为false,键盘没有显示,但是动作选择器功能没有触发触地事件,这就是我无法更改当前UITextField背景颜色的原因。
请帮助!!!
答案 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()
}
}