输入键盘键时UITextField不会更新

时间:2015-12-02 21:17:38

标签: ios swift uitextfield

当我点击下面屏幕上提到的这个UITextField时,会出现一个小键盘,问题是当我开始点按号码时,我的UITextField不会更新,只保留没有号码,只有placeholder

enter image description here

我需要做什么?

由于

添加代码!

@IBOutlet weak var salarioTextField: UITextField!

override func viewDidLoad()

{
    super.viewDidLoad()

    updateView()

    salarioTextField.delegate = self
}

func textFieldShouldBeginEditing(textField: UITextField) -> Bool

{

    if textField == feriasTextField
    {
        feriasTextField.inputView = feriasPicker
    }

    else if textField == salarioTextField
    {
        salarioTextField.keyboardType = UIKeyboardType.NumberPad
    }

    else if textField == inicioTextField
    {
        textField.inputView = datePicker
        textField.inputAccessoryView = toolbar
        datePicker.date = inicioDate
    }
    else if textField == motivoTextField
    {
        motivoTextField.inputView = motivoPicker
    }
    else
    {
        textField.inputView = datePicker
        textField.inputAccessoryView = toolbar
        datePicker.date = fimDate
    }
    return true
}

func textFieldDidBeginEditing(textField: UITextField)
{
    backgroundScrollView.scrollEnabled = true
    let scrollSize = CGSizeMake(view.frame.width, view.frame.height)
    backgroundScrollView.contentSize = scrollSize
    activeTextField = textField
    activeTextField?.becomeFirstResponder()
}

func textFieldDidEndEditing(textField: UITextField)
{
    backgroundScrollView.contentSize = CGSizeMake(0, 800)
    backgroundScrollView.scrollEnabled = true
}

请忽略其他人UITextField

2 个答案:

答案 0 :(得分:0)

确保您已为该字段启用了用户互动。

如果实现委托方法textViewDidBeginEditing,可以在此处放置断点或print语句,以查看它是否触发。

您可以尝试在该字段上调用becomeFirstResponder

答案 1 :(得分:0)

我只知道发生了什么。

我对以下方法返回false。

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
    return true;

}

刚刚将其更改为true并且正在运行。 谢谢你的帮助。