【发布时间】:2020-05-07 23:42:09
【问题描述】:
在 iOS 13 中,所有 Apple 应用程序的搜索栏右侧都有一个麦克风图标,允许语音输入。但是,当我创建系统搜索栏(或 UISearchController)时,我没有看到麦克风图标。我在 Google 和 SO 上进行了搜索,但找不到答案 - 我们可以采用这种方法吗?如果可以,如何采用?
【问题讨论】:
标签: ios accessibility uisearchbar ios13
在 iOS 13 中,所有 Apple 应用程序的搜索栏右侧都有一个麦克风图标,允许语音输入。但是,当我创建系统搜索栏(或 UISearchController)时,我没有看到麦克风图标。我在 Google 和 SO 上进行了搜索,但找不到答案 - 我们可以采用这种方法吗?如果可以,如何采用?
【问题讨论】:
标签: ios accessibility uisearchbar ios13
一个重要的注意事项是,目前还没有办法以编程方式将用户置于“听写模式”。这意味着要实现这一点,您必须使用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
您通过搜索栏的代理处理按钮点击:
searchController.searchBar.delegate = self
func searchBarBookmarkButtonClicked(_ searchBar: UISearchBar) {
// Do work here
}
【讨论】: