首页 > 解决方案 > UISearchBar 的 set_cancelButtonText: ivar 被禁止

问题描述

以前在 iOS 12 中允许使用相同的代码,但现在当我尝试在 iOS 13 上运行相同的代码时,它会崩溃,给我同样的错误:

由于未捕获的异常“NSGenericException”而终止应用程序,原因:“禁止访问 UISearchBar 的 set_cancelButtonText:ivar。这是一个应用程序错误'

这与这行代码有关:

searchController.searchBar.setValue("Cancel".localized, forKey:"_cancelButtonText")

现在我知道 setValue 的访问现在被禁止,但是如何克服这种崩溃并更改取消按钮的标题,因为搜索栏中没有包含任何属性。

标签: swiftios13

解决方案


您可以使用UIAppearance

UIBarButtonItem.appearance(whenContainedInInstancesOf: [UISearchBar.self]).title = "Whatever"

推荐阅读