2016-08-29 21 views
0

navigation barsearchボタンがあります。クリックするとsearchbarが表示され、キャンセルボタンをクリックするとそのボタンは非表示になります。しかし何らかの理由でsearchbarが隠れていると、ナビゲーションバーのタイトルビューも隠れてしまいます。何が原因でしょうか?最初は実際には右からtitleViewにスライドしたかったが、私はそれを達成できなかったので、私はこのようにした。隠し検索バーの非表示ナビゲーションバーのタイトル

これは、それを示すために、それを非表示にするコードです:

//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スクリーンショット可能ならば、uはタイトルを表示したい場合は、その後titleview –

答えて

2

あなたがsearchBarの隠ぺいにnavigationItemtitleを設定したい場合はnilに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

はどうもありがとうございまし隠します。それはトリックでした。 –

関連する問題