2017-07-17 8 views
-1

私は、instagramアプリの検索機能に似た検索機能を使いたいと思っています。 検索バーで編集を開始すると、ビューコントローラがプッシュされ、検索バーにそのコントローラがフィルタされます。しかし、私がビューコントローラを押すと、ナビゲーションバーの検索バーが消え、新しいボタンと戻るボタンが表示されます。 ビューコントローラを押していますか?

は、ここでの画面
  • の下からビューコントローラが
  • を消えてから、検索バーを保つことが可能

    1. プッシュすることです私のfunc searchBarTextDidBeginEditing

      func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) { 
          let layout = UICollectionViewFlowLayout() 
      
          let resultsController = ResultsController(collectionViewLayout: layout) 
      
          navigationController?.pushViewController(resultsController, animated: true) 
      
      } 
      
    +0

    パーツサイズのビューをアニメーションオーバーレイとして表示するのではなく、ビューコントローラをプッシュしてもよろしいですか? –

    +1

    検索バーはView Controllerと連携していますか? [UISearchController](https://developer.apple.com/documentation/uikit/uisearchcontroller)について知っていますか? – matt

    +0

    ビューコントローラを一番下から押すことは、プッシュアクションのデフォルトの動作ではありません。これはモーダルな振る舞いを示しています。それでもやりたいのであれば、カスタムアニメーションクラスを作成し、プッシュのアニメーションを変更することができます。 –

    答えて

    0

    検索バーを親ViewControllerの一部として配置し、検索バーが使用されているときはいつでも2つの子ビューコントローラ間を切り替えることをお勧めします。このコードは、子ビューコントローラを親に追加する方法を示しています。それを削除する同様の方法があります。このようにして、異なるシナリオで表示するビューコントローラを選択できます。

    self.addChildViewController(searchVC) 
    self.scrollView.addSubview(searchVC.view) 
    searchVC.didMoveToParentViewController(self) 
    
    +0

    スイッチをアニメートすることは可能ですか? – Stefan

    +0

    子供のView Controllerのビューにアニメーションを追加するだけでよいと思います。この関数を使用する - transitionFromViewController:toViewController: – clayjones94

    +0

    この投稿をチェックしてください:https://stackoverflow.com/questions/19162874/swapping-child-views-in-a-container-view – clayjones94

    関連する問題