dan*_*ing 5 accessibility uisearchbar ios ios13
在iOS 13中,所有Apple应用程序中的搜索栏在右侧都有一个麦克风图标,允许语音输入。但是,当我创建系统搜索栏(或UISearchController)时,没有得到麦克风图标。我在Google和SO上进行搜索,但找不到答案-我们可以采用它吗?如果可以,怎么办?
小智 5
一个重要的注意事项是,目前没有一种方法可以以编程方式将用户置于“听写模式”。这意味着要实现这一点,您必须使用该Speech框架才能通过按下按钮来实现“语音到文本”的工作。
您可以通过更新搜索栏书签图标的图像并将showsBookmarkButton搜索栏上的设置设置为 true 来完成视觉样式。
这是一个带有以下内容的实现UISearchController:
let searchController = UISearchController(searchResultsController: nil)
let micImage = UIImage(systemName: "mic.fill")
searchController.searchBar.setImage(micImage, for: .bookmark, state: .normal)
searchController.searchBar.showsBookmarkButton = true
Run Code Online (Sandbox Code Playgroud)
您可以通过搜索栏的委托来处理按钮点击:
searchController.searchBar.delegate = self
Run Code Online (Sandbox Code Playgroud)
func searchBarBookmarkButtonClicked(_ searchBar: UISearchBar) {
// Do work here
}
Run Code Online (Sandbox Code Playgroud)