Mükemmel bir şekilde çalışabilen bir UITableView var. Bir UITabbarController içinde yuvalanmıştır.UITableView'a geri dönme SearchResultDetailView
Ayrıca bir UISearchController'ı UISearchBar ile entegre ettim, bu da kullanıcının UITableView içeriğini aramasına izin veriyor. Bu da iyi çalışıyor.
TableViewCells öğelerinden birini seçtiğinizde, bir DetailView'a ulaşırsınız.
Etkin arama olmadan bunu yaptığınızda, her şey iyi çalışır, ancak bir arama girdiğinizde ve sonuçlardan bir hücre seçerseniz, üstte herhangi bir geri düğmesi olmadığından Tablo Görünümüne geri dönmenin bir yolu yoktur. sol köşede, tokatlamak geri hareketi kullanabilirsiniz.
ben searchresults için ayrı bir UITableView belirtmek olmadığını eklemek gerekebilir:
düşündüğümdenvar searchController: UISearchController = {
let controller = UISearchController(searchResultsController: nil)
controller.dimsBackgroundDuringPresentation = false
controller.searchBar.sizeToFit()
return controller
}()
, belki, bu var:
self.searchController.searchBar.delegate = self
self.searchController.searchResultsUpdater = self
self.tableView.tableHeaderView = self.searchController.searchBar
self.definesPresentationContext = true
böyle SearchController tanımlamak UiniabbarController içine bir UINavigationController koymak ve benim TableView kendi RootViewController olarak ayarlamak, ama sonra sorun vardı, SearchBar NavigationBar arkasında gizlenmiş oldu ...
DÜZENLEME (@ryantxr): my didSelectRowAtIndexPath: Hücreler aynı görünür olarak arama ve hiçbir arama arasında hiçbir fark yoktur cellForRowAtIndexPath
yılında
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}
. Bu aynı zamanda neden iki farklı segue kullanmadığımı da gösteriyor.
Ama haklısınız, arama kullanırken ve arama yaparken farklı istek kullanmıyorum. Bir hücre tıklandığında kullanılan tek segue, storyboard'da ve prepareForSegue
'da, hedef UIViewController'ın niteliklerini de ayarlıyorum.
Tablo görüntüleme işlevlerinizi görebilir miyim, didSelectRowAtIndexPath, cellForRowAtIndexPath vb. Arama ekranına göre arama yapılıyorsa ayrıntılar tarafından ele alınan detay ekranına geçişler var mı? – ryantxr
Arama dışı modda ayrıntı ekranını gördüğünüzde, bir geri düğmesi alırsınız, ancak arama modundan çıktığınızda, geri düğmesi yoktur. Bu doğru mu? – ryantxr
evet, bu doğru – Heckscheibe