相关疑难解决方法(0)

UISearchbar clearButton强制键盘出现

我有一个UISearchBar,它充当表视图的实时过滤器.当键盘通过endEditing:解除时,查询文本和灰色圆形"清除"按钮保持不变.从这里,如果我点击灰色的"清除"按钮,键盘会在文本被清除时重新出现.

我该如何防止这种情况?如果键盘当前未打开,我希望该按钮在不重新打开键盘的情况下清除文本.

当我点击清除按钮时,会调用一个协议方法.但是向UISearchBar发送resignFirstResponder消息对键盘没有任何影响.

iphone keyboard appearance uisearchbar uisearchbardelegate

44
推荐指数
4
解决办法
4万
查看次数

我可以更改颜色/图像 UISearchBar 清除按钮吗?

在此处输入图片说明

我想将清除按钮颜色更改为白色。我尝试了很多方法,但没有运气。:(我还参考了以下链接。但它对我不起作用。

请在下面找到我尝试过的代码。我正在开发最新的 ios 11。感谢您的帮助。

class SearchBar: UISearchBar {

    override init(frame: CGRect) {
        super.init(frame: frame)

        sharedInit()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)

        sharedInit()
    }

    override func awakeFromNib() {
        super.awakeFromNib()
        sharedInit()
    }

    private func sharedInit() {
        self.placeholder = "Search"
        self.setTextColor(color: .white)
        self.setTextFieldColor(color: UIColor.hexString("549C64"))
        self.setPlaceholderTextColor(color: .white)
        self.setSearchImageColor(color: .white)
        self.setTextFieldClearButtonColor(color: .white)

        if let textfield = self.value(forKey: "searchField") as? UITextField {
            if let backgroundview = textfield.subviews.first {
                backgroundview.layer.cornerRadius = 18.0;
                backgroundview.clipsToBounds = true;
            }
            //textfield.frame = CGRect(x: self.frame.origin.x, y: self.frame.origin.y, width: …
Run Code Online (Sandbox Code Playgroud)

uisearchbar ios swift4

3
推荐指数
2
解决办法
3890
查看次数