我可以显示和隐藏键盘。有一个问题:当我在searchBar中点击某些内容时,searchBar左侧有一个X符号和一个取消按钮。如果我先单击取消按钮然后单击X符号,我将收到致命错误:索引超出范围。
所以我想隐藏“x”符号而不是“取消”按钮。这可能吗?
答案 0 :(得分:1)
获取文本字段并隐藏它。
UITextField *textField = [searchBar valueForKey:@"_searchField"];
textField.clearButtonMode = UITextFieldViewModeNever;
或Swift你可以扩展搜索栏并覆盖它。
class NoCancelButtonSearchController: UISearchController {
let noCancelButtonSearchBar = NoCancelButtonSearchBar()
override var searchBar: UISearchBar { return noCancelButtonSearchBar }
}
class NoCancelButtonSearchBar: UISearchBar {
override func setShowsCancelButton(_ showsCancelButton: Bool, animated: Bool) { /* void */ }
}
答案 1 :(得分:0)
快速5
隐藏UISearchBar
中的x图标:
UITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self]).clearButtonMode = .never