Ich muss hier etwas falsch machen. Ich habe ein UITableView und habe einen UISearchController implementiert. Ich habe eine Prototyp-Zelle, die mit dem Detailbildschirm verknüpft ist, und übergibt den ausgewählten Wert in der prepareForSegue-Methode.Unterschiedliches Verhalten für den Übergang mit UISearchController
Für den normalen View-Controller funktioniert alles OK, eine Zeile wird ausgewählt und der Detailbildschirm wird gedrückt (d. H. Von rechts einschieben).
jedoch, wenn eine aktive Suche ist, die UISearchController verwenden, wird das Detailbild modal dargestellt (dh schieben von unten auf dem Bildschirm nach oben) ohne UINavigationBar (so gibt es keine Möglichkeit, zu gehen „zurück“)
ich verwende DidSelectRowAtIndexPath nicht, da ich Storyboard verwendet haben, die Details
zu schieben BildschirmWarum ist die präsentierenden Animation anders, wenn der gleiche Code in „prepareForSegue“ richtig in jedem Fall aufgerufen wird:
// MARK: - Navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier! == "PresentContactDetail") {
// pass person details from selected row
if let selectedRow = self.tableView.indexPathForSelectedRow()?.row {
let selectedPerson = self.visibleResults[selectedRow]
(segue.destinationViewController as ContactDetail).personRecord = selectedPerson
}
}
}
Irgendwelche Vorschläge dankbar erhalten.