yamamoWorks

.NET技術を中心に気まぐれに更新していきます

NavigationPageの前ページタイトルを消す

Xamarin.FormsのNavigationPageでページ遷移した際、iOSでは既定で戻るボタン「<」と前ページのタイトルが表示されます。

f:id:yamamoWorks:20160612233239p:plain:w250 → f:id:yamamoWorks:20160612233252p:plain:w250

前ページのタイトルを非表示にする方法を調べたところ、画面遷移処理の際にNavigationPage.SetBackButtonTitle()を呼べばいいと分かったのですが

NavigationPage.SetBackButtonTitle(this, "");
await Navigation.PushAsync(new LoginPage());

Prism.Formsを使っている場合は画面遷移の処理が異なるので更に調べていたところ、廃止されているINavigationPageProviderインターフェイスを使った方法が出てきて、じゃあINavigationServiceインターフェイスをゴニョゴニョするのか?とか迷走しておりましたが、単純に前ページのコンストラクタでNavigationPage.SetBackButtonTitle()を呼べばよいと分かりました。

public MainPage()
{
    InitializeComponent();
    NavigationPage.SetBackButtonTitle(this, "");
}

f:id:yamamoWorks:20160612233239p:plain:w250 → f:id:yamamoWorks:20160612235633p:plain:w250

これでスッキリしました。