2016-08-29 2 views
0

У меня есть navigation bar с search кнопка. Нажав на него, он отображает searchbar и на кнопке отмены нажмите его скрывает. Но по какой-то причине, если скрывается searchbar, скрывается также заголовок заголовка навигации. Что может быть причиной этого? Сначала я на самом деле хотел, чтобы он скользил вправо до titleView, но я не мог этого достичь, поэтому я сделал это так.Скрытие поискаbar шкуры навигационная панель название также

Это код, чтобы показать его и скрыть его:

//Create searchbar 
    func createSearchBar(){ 

     searchBar.showsCancelButton = true 
     searchBar.tintColor = UIColor(red:0.184, green:0.996, blue:0.855, alpha:1.00) 
     searchBar.placeholder = "Search brands" 
     searchBar.delegate = self 



     searchBar.hidden = false 
     searchBar.alpha = 0 

     navigationItem.titleView = searchBar 
     navigationItem.setLeftBarButtonItem(menuButton, animated: true) 
     navigationItem.setRightBarButtonItem(searchButtton, animated: true) 


     UIView.animateWithDuration(0.5, animations: { 
      self.searchBar.alpha = 1 
      }, completion: { finished in 
       self.searchBar.becomeFirstResponder() 
     }) 


    } 

    //Searchbar hide 
    func hideSearchBar() { 


     navigationItem.setLeftBarButtonItem(menuButton, animated: true) 
     navigationItem.setRightBarButtonItem(searchButtton, animated: true) 
     searchBar.alpha = 0 
     UIView.animateWithDuration(1, animations: { 


      }, completion: { finished in 

     }) 
    } 

    //Searchbar cancel button 
    func searchBarCancelButtonClicked(searchBar: UISearchBar) { 
     hideSearchBar() 
     searchBar.endEditing(true) 
     snusBrandsTableView.reloadData() 
    } 
+0

udpate скриншот, если возможно, и если вы хотите показать название, тогда скройте titleview –

ответ

2

Если вы хотите установить title из navigationItem на сокрытие searchBar вам нужно установить titleView до нуля, а затем установить название.

func hideSearchBar() { 
    navigationItem.setLeftBarButtonItem(menuButton, animated: true) 
    navigationItem.setRightBarButtonItem(searchButtton, animated: true) 
    searchBar.alpha = 0 
    self.navigationItem.titleView = nil 
    self.navigationItem.title = "YourTitle" 
} 
+0

Большое спасибо. Это сделал трюк. –

Смежные вопросы