Ich benutze UISearchController mit einem UITableViewController. Wenn eine Suche läuft und ich eine Zeile in der Tabelle auswähle, um zur Detailansicht zu gelangen, und dann zurück zur Tabellenansicht, wird die erste Zeile der Tabelle hinter der Suchleiste ausgeblendet.Erste Zeile ausgeblendet, wenn die Tabellenansicht erscheint, während der Suchcontroller aktiv ist
Ich kann die erste Reihe zurück in Sicht, aber dann springt es einfach zurück hinter der Suchleiste, wenn ich die Rolle loslasse. So frustrierend!
In viewDidLoad ich habe:
searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.hidesNavigationBarDuringPresentation = false
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
mainTable.tableHeaderView = searchController.searchBar
Entfernen definesPresentationContext = true löst das Problem, aber ich brauche, dass die Suchleiste nicht angezeigt werden, zu verhindern, wenn der Benutzer auf andere Ansicht-Controller segues.
Ich habe stundenlang nach einer Lösung gesucht und verschiedene Möglichkeiten versucht, das Problem zu beheben.
Gibt es eine Möglichkeit, die erste Zeile der Tabelle so festzulegen, dass sie unterhalb der Suchleiste liegt, wenn die Tabellenansicht erneut angezeigt wird?
Ich versuchte SettingsPresentationContext = True PrepareForSegue, aber das hat nicht funktioniert.
schieben Sie Ihren Tisch oder Sammlung durch die Höhe des Such-Controller auf die Sicht von oben mit uiview Animation und Layoutbeschränkungen. – Loxx