取消UISearchBar键盘后取消按钮消失

时间:2016-07-04 23:50:34

标签: ios swift uisearchbar cancel-button

我的代码中有以下几行:

func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
    searchBar.showsCancelButton = true
}

func searchBarSearchButtonClicked(searchBar: UISearchBar) {
    searchBar.resignFirstResponder()
}

当我点击searchButton时,键盘被解除,取消按钮消失。

解决方案是什么?

1 个答案:

答案 0 :(得分:1)

已解决!

我通过在UISearchBar旁边添加UIButton [cancelButton]解决了这个问题,并将宽度约束添加为@IBOutlet。现在,我没有显示searchBar的cancelButton,而是将cancelButton的宽度更改为显示或隐藏,如下所示:

func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
    UIView.animateWithDuration(0.25) {
        self.widthConstraint.constant = 44.0
        self.cancelButton.layoutIfNeeded()
    }
}

@IBAction func cancelButtonTapped(sender: UIButton) {
    UIView.animateWithDuration(0.25) {
        self.widthConstraint.constant = 0.0
        self.cancelButton.layoutIfNeeded()
    }
}