到目前为止,这是我实现这一目标的尝试。
if searchBar.text == ""
{
searchBar.addSubview(placeholder)
searchBar.addConstraintsWithFormat("V:|[v0]|", views: placeholder)
phconstraint = NSLayoutConstraint(item: placeholder, attribute: .centerX, relatedBy: .equal, toItem: searchBar, attribute: .centerX, multiplier: 1, constant: 0)
}
else
{
placeholder.removeFromSuperview()
}
上面的代码很好地解释了我想要实现的目标背后的逻辑。
UITextField中是否有检测文本添加的方法,或者可能有一些通知?
有什么建议吗?
最佳答案
这是您应该编写逻辑以隐藏/显示视图的方法:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let currentString: String = (textField.text! as NSString).replacingCharacters(in: range, with: string)
let length: Int = (currentString.characters.count )
if(length >= 1){
//show
}
else{
//hide
}
return true
}
关于ios - 当UITextField中有文本时,我将如何删除 subview ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43691396/