2014-12-02 13 views
5

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ą.

Odpowiedz

1

w viewDidLoad z UITableViewController ustawić definesPresentationContext = true

Powiązane problemy