Mostrar o botão "Voltar ao menu" na barra de navegação do iOS com o Xamarin.Forms
Estou tentando criar um aplicativo de plataforma cruzada usando C # e Xamarin.Forms. Ele contém um menu deslizante implementado na forma de umMasterDetailPage
. Enquanto no Android existe um botão com o ícone do aplicativo no canto superior esquerdo, que alterna a página deslizante, não existe esse item da barra de navegação no iOS.
Dividi-o no exemplo mínimo a seguir, derivado do modelo de solução Xamarin "Aplicativo em branco (Xamarin.Forms Shared)" e substituindo a implementação doApp
-classe:
public class App
{
static MasterDetailPage MDPage;
public static Page GetMainPage()
{
return new NavigationPage(
MDPage = new MasterDetailPage {
Master = new ContentPage {
Title = "Master",
Content = new StackLayout {
Children = { Link("A"), Link("B"), Link("C") }
},
},
Detail = new ContentPage { Content = new Label { Text = "A" } },
});
}
static Button Link(string name)
{
var button = new Button { Text = name };
button.Clicked += delegate {
MDPage.Detail = new ContentPage { Content = new Label { Text = name } };
MDPage.IsPresented = false;
};
return button;
}
}
A solução e as capturas de tela resultantes podem ser encontradas emGitHub.
Minha idéia foi adicionar um botão "menu" ou "voltar" no código específico do iOS, modificando owindow.RootViewController.NavigationController.NavigationBar
dentro doAppDelegate
classe. Maswindow.RootViewController.NavigationController
énull
.
Substituindo o tipo de retorno deGetMainPage()
porNavigationPage
ao invés dePage
não ajuda.
Eu poderia adicionar itens da barra de ferramentas viaMDPage.ToolbarItems.Add(...)
, mas eles aparecem no topodireito canto.