Muszę robić coś złego tutaj. Mam UITableView i zaimplementowałem kontroler UISearch. Mam komórkę prototypową połączoną z ekranem szczegółów i przekazuję wybraną wartość w metodzie prepareForSegue.Inne zachowanie dla ruchu przy użyciu UISearchController
Dla normalnego kontrolera widoku wszystkie prace są OK, wybierany jest rząd i ekran szczegółów jest przesuwany (tzn. Wsuwany od prawej).
Jednak gdy istnieje aktywny wyszukiwania, używając UISearchController ekran szczegółów przedstawiono modally (tj ślizgać się od dolnej części ekranu) bez UINavigationBar (więc nie ma możliwości, aby go „z powrotem”)
nie używam didSelectRowAtIndexPath od Użyłem storyboard naciskać na ekran szczegółów
Dlaczego animacji prezentujących różny gdy ten sam kod w „prepareForSegue” jest poprawnie nazywa się w każdym przypadku:
// 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
}
}
}
Wszelkie sugestie otrzymane z wdzięcznością.