ナビゲーションバーのUISearchBarがView Controller間で「共有」されているiOSアプリケーションのFacebook機能を再現しようとしています。たとえば、ホームニュースフィードビューの検索バーをタップすると、新しいビューコントローラがプッシュされ、検索バーが新しいビューコントローラに「転送」されます。検索バーのサイズは、ビューコントローラーのトランジション(以下のスクリーンショットに示すように、「インタラクティブポップ」トランジションを使用する場合を含む)の横にあるように、サイズ変更され、アニメートされます。この動作は、アプリケーション全体でさまざまな方法で行われます。 UIKitでこの動作を実現するための標準的な方法はありますか、またはFacebookは何とかカスタムのトランジション/アニメーションをナビゲーションバーと検索バーに適用していますか?UIViewController間でUINavigationBarのUISavigationBarが共有されています
答えて
はそれで迅速なプレイを持っていたので、最初私は、メイン画面は、いくつかの部分に分割されていることを言うと思います。そのオブジェクトが何であるかを知るのは難しいですが、推測すると、検索バーやその他の「ナビゲーション」要素だけを含むUIViewControllerがあると言えます。その下には、ニュースフィードを含む別のUIViewControllerがあります。これは、さまざまな他のもの(カスタム)がそこで発生する可能性のある柔軟なスペースです。これらの両方は、親ViewController内で 'ChildViewControllers'として設定されている可能性があります。これにより、たとえば、インターフェイスビルダーの同じUIViewControllerスペースにいくつかのUIViewControllerを取得できます。
検索バー自体は高度にカスタマイズされており、UISearchBarに基づいていない場合もあります。彼らはたぶんUITextViewを使って完全にカスタムのUIViewを作成し、他のカスタムアニメーションを続けることになりました。それでも、UISearchBarを使用することで、自分が行っていることの多くを達成できます。
このようにすると、検索バーは同じ検索バーのままですが、コンテンツは下に変わります。たとえば、検索を行う場合は、検索結果が下に表示されますが、同じUISearchBarが上に表示されたままになります。
ChildViewControllerを使用しない場合(私はその方法をやめました)、UIViewをベースにしたオブジェクトを単一のUIViewController内で使用する方法があります。 UISearchBarは上部にありますが、おそらく親UIView内にあります。下のUIViewには、フィードとその他のものがすべて含まれています。再度、単一のUISearchBarを使用して検索し、必要に応じて下のUIViewの内容を変更します。
- 1. UISavigationBarがUINavigationBarを表示しないようにする
- 2. JSFビューはユーザー間で共有されていますか?
- 3. C global static - スレッド間で共有されていますか?
- 4. UIViewControllerが常に再インスタンス化されないと、UINavigationBarのUISegmentedControlが消えます
- 5. 複数のUIViewController間でUIViewをバックグラウンドで点滅させずに共有
- 6. 他の多くのクラスで共通のオブジェクトが共有されています
- 7. プロセス間で共有されるビットマップ
- 8. Google IDトークンの「サブ」クレームはクライアント間で共有されていますか?
- 9. Javaでは、静的なクラスメンバーはプログラム間で共有されていますか?
- 10. 3種類のアプリケーション間で共有されているが安全なメモリ(Windows)
- 11. ASP.Netキャッシュは異なるユーザーセッション間で共有されていますか?
- 12. UIViewController自体がviewWillAppearとviewDidAppearの間でサイズ変更されていますか?
- 13. Androidのメニューがアクティビティ間で共有される(不要)
- 14. Java System Classはプロセス間で共有されますか?
- 15. Tomcat JDBC接続プールはインスタンス間で共有されますか?
- 16. フラッシュ共有オブジェクト(つまり、フラッシュクッキー)はChromeと共有されていません
- 17. 多くのページ間でCookieを共有していますか?
- 18. 屋外の間でフォルダを共有していますか?
- 19. MVVMとMVCの間でモデルを共有していますか?
- 20. IntelliJのモジュール間でJavaパッケージを共有していますか?
- 21. C - セマフォーがすべてのプロセスで共有されていません
- 22. PHPでは、オブジェクトメソッドコードがインスタンス間で重複または共有されていますか?
- 23. C++クラスの複数のインスタンス間で共有されているタイマーカウンタの問題
- 24. ファイル間で 'これ'を共有する
- 25. 共有設定が保存されていません
- 26. UINavigationBarシステムタイプのボタンが無効にされています
- 27. アプリケーションオブジェクトが共有されない
- 28. 複数のテーブル間で一意のIDが共有されています。SQL 2008
- 29. セッション内のサーブレット間でアップロードされたファイルを共有する
- 30. デザイン:複数のコントローラ間で共有されている製品ツリービュー