Ich versuche, einen UISearchController zu einem UIViewController hinzuzufügen, der ein UITableView (und ein MKMapView auch, aber hoffentlich das ist nicht das Problem) enthält. Ich folgte Ray Wenderlich's tutorial, aber ich kann nicht das gleiche Ergebnis in Bezug auf das Verhalten erhalten.UISearchController wird nicht wie erwartet angezeigt
Hier ist mein viewDidLoad:
override func viewDidLoad() {
super.viewDidLoad()
// Setup the Search Controller
searchController.searchResultsUpdater = self
searchController.obscuresBackgroundDuringPresentation = false
searchController.searchBar.placeholder = NSLocalizedString("Search references by project, customer or city", comment: "")
if #available(iOS 11.0, *) {
navigationItem.searchController = searchController
navigationItem.hidesSearchBarWhenScrolling = true
} else {
tableView.tableHeaderView = searchController.searchBar
}
definesPresentationContext = true
self.modeSelector.layer.cornerRadius = 5.0
if let split = splitViewController {
let controllers = split.viewControllers
detailViewController = (controllers[controllers.count - 1] as! UINavigationController).topViewController as? ReferenceViewController
}
self.navigationItem.rightBarButtonItem?.isEnabled = false
}
Beachten Sie, dass der #available Test in der Mitte ist, weil ich iOS 9.1 unterstützen muß auf.
Jetzt sehe ich mehrere Probleme:
- Die Suchleiste erscheint sofort und ich kann es nicht durch Scrollen
- verstecken Wenn ich die Suchleiste konzentrieren, wird die Spitze des Tableview nicht haften an der Unterseite des Navigationspunkt:
der einzige große Unterschied, den ich mit Ray Wenderlich das Beispielprojekt zu sehen ist, dass seit Ich habe mein Projekt mit XCode 9 erstellt, mein Storyboard verwendet keine oberen und unteren Layout-Guides, sondern sichere Bereiche. Ich weiß nicht, ob es relevant ist, aber das ist das Einzige, was ich sehe.
Irgendeine Idee was los ist und wie ich das beheben könnte?
Klicken Sie auf Ihren View-Controller, dann deaktivieren Sie in KI die Option "Scroll View Insets anpassen". Hoffentlich hilft dies. –
@DharmeshKheni Nein, es ändert nichts. Gleiches Verhalten. – Sebastien
@matt Ändert auch nichts. – Sebastien