2015-04-28 25 views
9

Yeni UISearchController tablosunu tableViewController uygulamasında kullanmaya çalışıyorum.Gezinme denetiminde UISearchControllerBar

Bununla birlikte, searchBar'a bastığımda, navigasyonda yukarı doğru hareket edebildiğime dair biraz kafam karışmıştı. Eski bir aramaDisplayController ile tam olarak nasıl bir performans gösterdi?

Şu anda masaüstünde kalıyor.

self.teamSearchController = ({ 
     let controller = UISearchController(searchResultsController: nil) 

     controller.searchBar.searchBarStyle = UISearchBarStyle.Minimal 
     controller.dimsBackgroundDuringPresentation = false 
     controller.searchBar.sizeToFit() 
     controller.searchBar.showsScopeBar = true 
     self.tableView.tableHeaderView = controller.searchBar 

     return controller 
    })() 

Kontrolör: enter image description here

Ben searchbar tıklayın

:

enter image description here

+0

çıkarmadan 'controller.hidesNavigationBarDuringPresentation = FALSE da size ben –

+0

bekliyoruz davranışı vermelidir. asla saklamıyorNavigationBarDuringPresentation false ve hiçbir zaman navigationItem'in başlığını arama çubuğuna koymayın. –

+0

true sizin searchController en hidesNavigationBarDuringPresentation set davranışını descripe ve viewController en definesPresentationContext sonucunu görmek geçiş deneyin 2 görüntü ekledik – Solomon

cevap

16

Sen UISearchBarait yerleştirebilirsiniz İşte

benim kodudur gezinti çubuğu yerine tablo başlığındaki

self.searchController.hidesNavigationBarDuringPresentation = NO; 
self.searchController.searchBar.searchBarStyle = UISearchBarStyleMinimal; 

// Include the search bar within the navigation bar. 
self.navigationItem.titleView = self.searchController.searchBar; 

self.definesPresentationContext = YES; 
+0

Davranışı belirleyen 2 resim ekledim –

+0

Bu cevabı çözüm olarak denediniz mi? –

+0

Hayır ama bu en baştan başlayıp, SearchDisplayController –

2

Swift sürümü:

Bu gezinti çubuğu ile ilgisi var
self.searchController.hidesNavigationBarDuringPresentation = false 
self.searchController.searchBar.searchBarStyle = UISearchBarStyle.Minimal 

// Include the search bar within the navigation bar. 
self.navigationItem.titleView = self.searchController.searchBar 
self.definesPresentationContext = true 
0

.

func willPresentSearchController(searchController: UISearchController) { 
    self.navigationController?.navigationBar.translucent = true 
} 

func willDismissSearchController(searchController: UISearchController) { 
    self.navigationController?.navigationBar.translucent = false 
} 

Bunu yaparsanız, o zaman tablo görünümü başlığına eklemek VE almak mümkün olacak pişmiş olan Search kontrolörü animasyon!

İlgili konular