我有一个UIImage和TextField。当用户开始在TextField中写入时必须显示Image,当用户完成写入时,TextField UIImage必须隐藏。 怎么做?
我尝试的是:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("Your custom title");
}
答案 0 :(得分:1)
试试这个
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
textField.background = UIImage(named: "focus.png")
return true
}
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
textField.background = UIImage(named: "nofocus.png")
return true
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
或在rightView / leftview上设置图像
textField.rightViewMode = .unlessEditing
textField.leftView = UIImageView(image: UIImage(named: "textfield_edit_icon.png"))
答案 1 :(得分:0)
您可以将代理设置为UITextfield,在这里您可以获得某些委托方法的通知: https://developer.apple.com/reference/uikit/uitextfielddelegate
在你的情况下,它是:
func textFieldDidBeginEditing(_ textField: UITextField)
https://developer.apple.com/reference/uikit/uitextfielddelegate/1619590-textfielddidbeginediting
在您的委托课程中实施此功能,您现在可以将此图像设置为在此方法中可见/不隐藏。
您也可以在"结束编辑":
上隐藏它func textFieldDidEndEditing(_ textField: UITextField)
https://developer.apple.com/reference/uikit/uitextfielddelegate/1619591-textfielddidendediting
答案 2 :(得分:0)
试试这个。
将图像视图作为leftView添加到TextField。
并将textfield leftViewMode设置为.whileEditing
let LeftView = UIImageView(image: UIImage(named: "yourImage")
yourTextfield.leftView = LeftView
yourTextfield.leftViewMode = .whileEditing