質問: ### 前提・実現したいこと Xamarin.FormsのTabbedページのUIをiOSとAndroidで揃えたい ### 発生している問題 UIとしての表示されるタブは、Androidでは上つき、iOSでは下つきで表示される仕様がTabbedページと認識しています。 iOSでも上つきで表示したい場合、Tabbedでの実装は諦めて同等の機能を自前で実装する方が設計として正しいと思いますか? CustomRendererを利用して、Tabbedを活かすべきか、すっぱり諦めて自前実装するべきか悩んでいます(そもそも与件的に実装できないという話であれば本末転倒ですが) この辺りの知見がある方に、ご意見いただければ幸いです。 よろしくおねがいします。 追記 -- Xamarin.Formsから他プラットフォームへ移すということはありません。 Xamarin.Formsでの作成を前提としています。
回答: swiftで書いてもタブの位置を変えられるので、以下のようにカスタムレンダラーを書けば行けそうです。 Xamarin.iOSのプロジェクトに`Xamarin.Forms.Platform.iOS.TabbedRenderer`の派生クラスを作る。(仮にMyTabbedRendererとします) MyTabbedRendererで`ViewWillLayoutSubviews()`をoverrideする。 stackoverflowの回答を参考にタブの位置を変える。 ios - Positioning UITabBar at the top - Stack Overflow Xamarin.iOSのプロジェクトの中でTabbedPageのレンダラーにMyTabbedRendererを使うことを宣言する。 (Assembly.csなりMyTabbedRenderer.csに `[assembly: ExportRenderer (typeof (TabbedPage), typeof (MyTabbedRenderer))]` と書く) **追記** 実際にできることを確認しました。 Xamarin.Forms.TabbedPageのiOS版でタブを上側に変更するサンプル - ぴーさんログ