【发布时间】:2021-02-22 15:42:02
【问题描述】:
有什么方法可以在 iOS12 上做 UISearchController 的子类吗?
final class CustomSearchController: UISearchController {
private let onCancel: () -> Void
init(
onSelect: @escaping (MKPlacemark) -> Void,
onCancel: @escaping () -> Void
) {
self.onCancel = onCancel
let searchResultsController = SearchResultsController(onSelect: onSelect)
super.init(searchResultsController: searchResultsController)
searchResultsUpdater = searchResultsController
obscuresBackgroundDuringPresentation = true
searchBar.delegate = self
}
以上代码在 iOS14 上运行,但在 iOS12 上崩溃。原因是 super.init(searchResultsController) 调用 self.init(nibName: ...) 并且这再次调用 CustomSearchController 初始化器 for init(nibName:...) 在 CustomSearchController
【问题讨论】:
标签: ios swift uisearchcontroller