swift - UISearchBar 的 set_cancelButtonText: ivar 被禁止
问题描述
以前在 iOS 12 中允许使用相同的代码,但现在当我尝试在 iOS 13 上运行相同的代码时,它会崩溃,给我同样的错误:
由于未捕获的异常“NSGenericException”而终止应用程序,原因:“禁止访问 UISearchBar 的 set_cancelButtonText:ivar。这是一个应用程序错误'
这与这行代码有关:
searchController.searchBar.setValue("Cancel".localized, forKey:"_cancelButtonText")
现在我知道 setValue 的访问现在被禁止,但是如何克服这种崩溃并更改取消按钮的标题,因为搜索栏中没有包含任何属性。
解决方案
您可以使用UIAppearance
:
UIBarButtonItem.appearance(whenContainedInInstancesOf: [UISearchBar.self]).title = "Whatever"
推荐阅读
- reactjs - 我想打印模型盒
- javascript - 如何在 HTML 中同时显示来自 JavaScript 数组的 5 个问题?
- java - 未解决的编译问题:Dataset 类型的方法映射不明确
- html - 你如何将一个 div 放在另一个 div 之上?
- android - 匕首片段范围
- python-2.7 - 如何在 python 2.x 中更改 urllib2 请求中的源端口和 ip
- javascript - 在编译的苗条代码中保留额外的脚本标签
- xamarin.android - 如何将图像从-45度旋转和缩放到45度?
- git - 如何将旧项目文件中途添加到主分支
- php - PHP - 如何在 foreach 循环开始时清除 loadHTMLFile()?