ナビゲーションバーの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. RPCがクライアント/サーバー間で共有されていてもRESTメソッドで共有されています
- 3. ASP.NETコアIDがブラウザ間で共有されています
- 4. Rails view_pathsがリクエスト間で共有されています
- 5. ビューコントローラ間で変数が共有されていません
- 6. Angular2共有コンポーネントが共有されていない共有コンポーネント
- 7. 共有プリファレンスはユーザー間で共有されます
- 8. XIBからのUIViewControllerがUINavigationBarにリサイズされない
- 9. ドメイン間の共有データ - ドメイン間で共有されるデータ
- 10. UIViewControllerが常に再インスタンス化されないと、UINavigationBarのUISegmentedControlが消えます
- 11. linux共有のCライブラリが共有されていません
- 12. JSFビューはユーザー間で共有されていますか?
- 13. 静的クラスはAppDomain間で共有されていますか?
- 14. HttpContext.Current.Sessionはワーカープロセス間で共有されていますか?
- 15. スレッドはWebモジュール間で共有されていますか?
- 16. C global static - スレッド間で共有されていますか?
- 17. Microsoft Graph APIユーザー間で共有されていない共有予定表ID
- 18. PHP $ _SESSIONはリクエスト間で共有されていません
- 19. 変数がストーリーボードのビューコントローラ間で共有されていますか?
- 20. asp.netコアのリクエスト間でHttpContext.Itemsが共有されていますか?
- 21. Androidカスタムビューの属性がインスタンス間で共有されていますか?
- 22. UINavigationBar行は、プッシュされたUIViewControllerで削除された後、親UIViewControllerに表示されません
- 23. 複数のUIViewController間でUIViewをバックグラウンドで点滅させずに共有
- 24. UserSession認証トークンが異なるユーザー間で共有されています
- 25. Microsoft Calendar Graph API:ユーザーの間でイベントIDが共有されていません
- 26. Docker Swarmのノード間でボリュームが共有されない
- 27. Node.js&Typescriptシングルトンパターン:シングルトンがシングルトンユーザー間で共有されていないようです
- 28. 他の多くのクラスで共通のオブジェクトが共有されています
- 29. プロセス間で共有されるビットマップ
- 30. 既に共有されているAndroidスタジオでプロジェクトを共有