【发布时间】:2023-04-09 06:09:01
【问题描述】:
我想在带有 MKMapView 的自定义 UIViewController 中使用 UISearchDisplayController。
我在导航栏中显示 UISearchBar。
所有的作品在 iPhone 上,但在 iPad 上,结果的 TableView 不显示,即使在弹出框...我只想显示这个 tableview...
(所有委托均已初始化)
通过调试,我知道TableView存在(在searchDisplayController中有地址)
self.searchDisplayController.searchResultsTableView;
编辑:
我在 Interface Builder 中进行了所有设置,除了在导航栏中插入 searchBar。我只是以编程方式完成的:
self.searchDisplayController.displaysSearchBarInNavigationBar = YES;
我不明白,为什么在 iPhone 中显示 tableView 而在 iPad 中却没有!
编辑 2:
如果我删除导航栏的插入(上面引用的最后一行代码),tableView 会显示,但全屏显示而不是弹出窗口。
最终编辑:
没有解决方案,我尝试了不同的方法:我将视图嵌入到 SplitView 中,Research 位于主视图中,MapView 位于 detailView 中。它有效,但看起来与预期不同..
答案是:
使用 swift 和 iOS 8,我重新构建了我的应用程序,并找到了一个很好地完成这项工作的解决方案。
if let tableView = self.searchDisplayController?.searchResultsTableView {
tableView.frame = CGRect(x: 0.0, y: 0.0, width: self.view.bounds.width, height: self.view.bounds.height)
self.view.addSubview(self.blurEffectView!)
}
【问题讨论】:
-
这一切是如何设置的?通过代码还是IB?
标签: ios objective-c ipad swift uisearchdisplaycontroller