0
사용자 지정 지우기 단추를 표시 할 수 있었지만 다른 곳을 클릭하거나 다른 텍스트 필드를 클릭 할 때 지워지지 않는 것이 문제입니다. 그것은 항상 보여주고 있습니다.다른 필드 또는 곳을 클릭 할 때 지우기 단추 제거
여기 내 확장 :
extension UITextField {
func clearButtonWithImage(_ image: UIImage) {
let clearButton = UIButton()
clearButton.setImage(image, for: .normal)
clearButton.frame = CGRect(x: 0, y: 0, width: 20, height: 20)
clearButton.contentMode = .scaleAspectFit
clearButton.addTarget(self, action: #selector(self.clear(sender:)), for: .touchUpInside)
self.rightView = clearButton
self.rightViewMode = .always
}
func clear(sender: AnyObject) {
self.text = ""
}
}
여기에 내가 방법에 clearbutton 보여
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
if textField == dateSearchTextField {
self.performSegue(withIdentifier: "showCalendar", sender: self)
textField.clearButtonWithImage(#imageLiteral(resourceName: "icClear"))
return false
} else if textField == timeSearchTextField {
self.performSegue(withIdentifier: "showTimePicker", sender: self)
textField.clearButtonWithImage(#imageLiteral(resourceName: "icClear"))
return false
}
return true
}
나는 텍스트 필드 내부를 클릭 할 경우에만 표시되고 싶어합니다.