在Swift上单击文本字段时隐藏UIButton

时间:2017-01-07 22:22:43

标签: ios swift uibutton uitextfield

Swift的新手,制作一个简单的待办事项应用。

我试图获得它,以便在单击UI TextField时,应隐藏某个按钮。只有当用户在键入任务后按下Enter键时才会出现该按钮。

我为我的文本字段设置了一个IBAction,以便在点击它时隐藏UIButton,但它不起作用:

  @IBAction func textFieldClicked(_ sender: Any) {

        self.cellButton.isHidden = true

}

当用户按下Enter键时,我设置了textfieldshouldreturn函数:

func textFieldShouldReturn(_ textField: UITextField) -> Bool {

    self.cellButton.isHidden = false
    self.cellButton.isUserInteractionEnabled = true
    textField.resignFirstResponder()
    return true
}

文本字段的IBAction是否仅在按下enter时响应?我试过弄乱旗帜,但这也不起作用。

感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

您不需要IBAction。相反,请实施另一个UITextFieldDelegate方法 - textFieldDidBeginEditing

func textFieldDidBeginEditing(_ textField: UITextField) {
    self.cellButton.isHidden = true
}

当文本字段成为第一个响应者时,将调用此委托。

稍微不相关的说明,最好从false方法返回true而不是textFieldShouldReturn

答案 1 :(得分:0)

请使用委托方法textFieldDidDeginEditing并隐藏按钮。