为什么从搜索栏中退出键盘后会留下一个 UIToolbar?
Why is there a UIToolbar left behind after resigning keyboard from search bar?
顺便说一句,这是程序化的。我将 UISearchBar 添加到导航标题视图。当控制器首次加载时,它成为第一响应者。单击搜索栏中的取消按钮会删除键盘并返回到根视图控制器。当发生这种情况时,UIToolbar 会在整个 UIToolBar 视图的顶部留下明显的模糊。我已经通过视图层次结构检查了它,它显示它是一个工具栏,我认为是表情符号按钮和语音按钮所在的键盘底部视图。我试过 resigningFirstResponder 和 endEditing(true)。两者都留下了我从未在我的应用程序中创建的工具栏。关于如何修复它的任何建议,或者这是一个我无法控制的错误?
实施,
// Setup for viewDidLoad
private func setup() {
// Navigation
navigationController?.setToolbarHidden(false, animated: true)
navigationItem.setHidesBackButton(true, animated: false)
searchView.searchBar.delegate = self
navigationItem.titleView = searchView.searchBar
searchView.searchBar.becomeFirstResponder()
}
// When the cancel button is pressed
public func goBackToRootController() {
// I've used both individually and together and the problem still occurs
searchView.searchBar.resignFirstResponder()
searchView.searchBar.endEditing(true)
navigationController?.popToRootViewController(animated: true)
}
问题已修复 - setToolBarHidden() 方法设置为 false。在整个应用程序中启用或显示工具栏。
顺便说一句,这是程序化的。我将 UISearchBar 添加到导航标题视图。当控制器首次加载时,它成为第一响应者。单击搜索栏中的取消按钮会删除键盘并返回到根视图控制器。当发生这种情况时,UIToolbar 会在整个 UIToolBar 视图的顶部留下明显的模糊。我已经通过视图层次结构检查了它,它显示它是一个工具栏,我认为是表情符号按钮和语音按钮所在的键盘底部视图。我试过 resigningFirstResponder 和 endEditing(true)。两者都留下了我从未在我的应用程序中创建的工具栏。关于如何修复它的任何建议,或者这是一个我无法控制的错误?
实施,
// Setup for viewDidLoad
private func setup() {
// Navigation
navigationController?.setToolbarHidden(false, animated: true)
navigationItem.setHidesBackButton(true, animated: false)
searchView.searchBar.delegate = self
navigationItem.titleView = searchView.searchBar
searchView.searchBar.becomeFirstResponder()
}
// When the cancel button is pressed
public func goBackToRootController() {
// I've used both individually and together and the problem still occurs
searchView.searchBar.resignFirstResponder()
searchView.searchBar.endEditing(true)
navigationController?.popToRootViewController(animated: true)
}
问题已修复 - setToolBarHidden() 方法设置为 false。在整个应用程序中启用或显示工具栏。