到目前为止,这是我实现这一目标的尝试。

    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/

10-16 03:55