2016-06-30 1 views
1

NavigationPage.Navigation.InsertPageBefore(ContentPage)のフローを使用するページにナビゲートすると、NavigationPage.PopAsync()。ConfigureAwait(false)ページが消えますが、プッシュ/ポップを使用すると、ツールバーは常に残ります。これはiOSでのみ発生します。ナビゲーションページのInsertPageBeforeメソッドを使用しているときにツールバーアイテムがiOSで消える

ナビゲーションページは、ナビゲーションページが詳細部分として機能するマスター詳細ページと一緒に、アプリケーションレベルにスコープされたグローバルです。それはそうと

追加このようなページに移動ToolbarItemが

var toobaritemMenu = new ToolbarItem 
{ 
    Icon = "Screenshot",         
    Command = new Command(() => Device.BeginInvokeOnMainThread(() => App.MasterNavigation.PushAsync(new ContentPage(), false))) 
}; 
App.MasterNavigation.ToolbarItems.Add(toobaritemMenu); 

のiOS

Device.BeginInvokeOnMainThread(() => App.MasterNavigation.Navigation.InsertPageBefore(new ContentPage(), App.MasterNavigation.CurrentPage)); 
Device.BeginInvokeOnMainThread(() => App.MasterNavigation.PopAsync().ConfigureAwait(false)); 

に消えてツールバー項目原因この理由はありますそれはAndroid上で動作するので矛盾します。

答えて

0

同じ問題が発生しました。 、代わりに新しいページを挿入すると、現在のページをオフにポップのスタックに新しいページをプッシュし、現在のものを削除します:私の回避策は、私がナビゲーションスタックを操作した方法を変更した

await currentPage.Navigation.PushAsync(nextPage, animated: true); 
currentPage.Navigation.RemovePage(currentPage); 

あなたは終わります最終的なナビゲーションスタックは同じですが、iOSのセカンダリツールバーの問題を引き起こしている問題は避けています。

関連する問題