0

UISearchControllerでプログラムで作成されたnavBarを使用しました。私はUISearchBar編集を開始すると


を - ナビゲーションバーには懐疑的な見方
後ろにとどまる - のtableViewは、ナビゲーションバー
の半分を隠し - tabeViewが登場したときに、キャンセルボタンを選択することはできません。


UISearchController、Swiftの前にnavbarを持って来る


マイUISearchController:

let locationSearchTable = storyboard!.instantiateViewControllerWithIdentifier("SearchTableViewController") as! SearchTableViewController 
    resultSearchController = UISearchController(searchResultsController: locationSearchTable) 
    resultSearchController.searchResultsUpdater = locationSearchTable 
    resultSearchController.view.backgroundColor=UIColor.clearColor() 
    locationSearchTable.delegate = self 

    let searchBar = self.resultSearchController.searchBar 
    searchBar.sizeToFit() 
    searchBar.placeholder = "Search" 
    searchBar.searchBarStyle = .Minimal 
    searchBar.barStyle = .Default 
    searchBar.translucent = true 
    searchBar.barTintColor = UIColor.whiteColor() 
    searchBar.setImage(UIImage(named:"search"), forSearchBarIcon: .Search, state : .Normal) 
    searchBar.delegate=self 
    resultSearchController.hidesNavigationBarDuringPresentation = false 
    resultSearchController.dimsBackgroundDuringPresentation = true 
    definesPresentationContext = true 


私のナビゲーションバー:

let newNavBar : UINavigationBar = UINavigationBar.init(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, 64.0)) 

func styleNavBar(){ 

    UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.Default 
    self.navigationController?.setNavigationBarHidden(true, animated: false) 


    let newItem : UINavigationItem = UINavigationItem.init() 
    newItem.titleView = self.resultSearchController.searchBar 

    newNavBar.barTintColor = UIColor(red: 243/255, green: 242/255, blue: 238/255, alpha: 1.0) 
     newNavBar.translucent = false 
     if let font = UIFont(name: "Avenir-Black", size: 16.0) { 
      let navBarAttributesDictionary : [String : AnyObject]? = [ 
       NSForegroundColorAttributeName: UIColor(red: 74/255, green: 74/255, blue: 74/255, alpha: 0.51), 
       NSFontAttributeName: font 
      ] 
      newNavBar.titleTextAttributes = navBarAttributesDictionary 
     } 

    newNavBar.setItems([newItem], animated: false) 

    self.view.addSubview(newNavBar) 
    self.view.bringSubviewToFront(newNavBar) 
} 

enter image description here

どのように私は、それをしてください修正できますか?
ありがとうございます!

+0

あなたが作成したところでもっとコードを表示すると良いでしょう – Tj3n

+0

@ Tj3n私の投稿を更新しました! ;) –

答えて

0

あなたはそれのためにstackviewを使用することができます。検索とテーブルビューを選択してからstackviewと制約stackviewをクリックして右/下/左/トップ

enter image description here

+0

私の投稿を更新しました;) –

+0

ok。 stackviewオブジェクトを作成し、代わりにnewNavBarをstackviewとlocationSearchTableに追加することができます。 –

1

この使用してみてください:?

self.navigationController .navigationBar.layer.zPosition = 1

関連する問題