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时响应?我试过弄乱旗帜,但这也不起作用。
感谢任何帮助。
答案 0 :(得分:3)
您不需要IBAction
。相反,请实施另一个UITextFieldDelegate
方法 - textFieldDidBeginEditing
。
func textFieldDidBeginEditing(_ textField: UITextField) {
self.cellButton.isHidden = true
}
当文本字段成为第一个响应者时,将调用此委托。
稍微不相关的说明,最好从false
方法返回true
而不是textFieldShouldReturn
。
答案 1 :(得分:0)
请使用委托方法textFieldDidDeginEditing
并隐藏按钮。