我的應用程序繪製兩次二級菜單採用主詳細的導航。
我在導航堆棧上推送頁面以具有後退按鈕功能。
推動與ToolbarItems(二級菜單)頁面時,這是在Android上很好,但它雙打iOS上的菜單項。
切換到相同的頁面(不推),iOS上沒有問題(如預期的那樣,二級菜單顯示一次)。Xamarin窗體MasterDetailPage - 在iOS
我採納了官方MasterDetail樣本(https://github.com/xamarin/xamarin-forms-samples/tree/master/Navigation/MasterDetailPage)來展示我的意思,請參閱solution zip file。
在iOS設備上編譯並啓動它,按第一頁上的按鈕打開一個子頁面,您應該看到加倍的菜單項(實際上是兩次繪製的),所以有兩行二級菜單項可見而不是一個。
這兩行是相同的,兩行(及其菜單項)在點擊時發生反應。
如果通過漢堡菜單中選擇提醒頁面,二級菜單是好的(甚至是iOS上),在頁面不推導航堆棧上,但切換。
一些有趣的部分:
ContactsPage.xaml.cs:
SwitchToDetailPageAndPushOnNavStack()
ReminderPage.xaml:
<ContentPage.ToolbarItems> <ToolbarItem Text="Do something" Clicked="OnDoSomethingClicked" Order="Secondary" /> </ContentPage.ToolbarItems>
有什麼事擺脫iOS上的這種怪異的效果呢?
謝謝你,那是有效的。 NavigationPage。SetHasNavigationBar(newPage,false)在我的代碼中調用了以下評論: '// iOS:隱藏導航欄,以避免同時有多行回溯和漢堡包導航 所以我想,在過去的某個時候,是必要的,但現在它似乎是有害的。好的,還有一個教訓... – HeliG