ubicacion sale rutas mapas hay funciona esta disponibles desde descargar cuando compatibilidad c# xaml xamarin.forms

c# - sale - PushAsync no es compatible globalmente en iOS, utilice una página de navegación



mapas iphone no funciona (3)

Probablemente tenga algún código similar a este en su App.xaml.cs :

public App() { InitializeComponent(); var tabs = new TabbedPage(); tabs.Children.Add(new NavTestPage() { Title = "Tab title" }); MainPage = tabs; }

A cuál debes cambiar:

public App() { InitializeComponent(); var tabs = new TabbedPage(); var page = new NavTestPage() { Title = "Page title" }; tabs.Children.Add(new NavigationPage(page) { Title = "Tab title" }); MainPage = tabs; }

Al ajustar en una página de NavigationPage , tiene la opción de insertar páginas en la pila de navegación. Un TabbedPage en sí mismo es solo pestañas con solo 1 página por pestaña. Esto debería darte una estructura como esta:

TabbedPage NavigationPage ContentPage NavigationPage ContentPage NavigationPage ContentPage

Actualización: supongo que lo que estás haciendo es simplemente cambiar ContentPage a TabbedPage en tu XAML. No es así como funciona TabbedPage . Probablemente deberías leer sobre cómo funciona TabbedPage en primer lugar.

https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/navigation/tabbed-page/

En su caso, probablemente debería crear una nueva página que tenga XAML así:

<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:NavTest" x:Class="NavTest.MyTabbedPage"> <NavigationPage Title="NavTest"> <x:Arguments> <local:NavTestPage /> </x:Arguments> </NavigationPage> </TabbedPage>

Establezca esto como la MainPage en App.xaml.cs :

public App() { InitializeComponent(); MainPage = new MyTabbedPage(); }

Todo funciona bien cuando manejo el evento Tap de un elemento ListView , pero cuando uso esto en un TabbedPage muestra la excepción, por favor proporcione una solución a este problema, gracias de antemano.

Excepción: PushAsync no es compatible globalmente en iOS, por favor use NavigationPage.

Aquí está el Código Xaml:

<?xml version="1.0" encoding="utf-8"?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:NavTest" x:Class="NavTest.NavTestPage" Title="Home"> <ContentPage.Content> <StackLayout Orientation="Vertical" VerticalOptions="Center"> <Label Text="Welcome to Xamarin Forms!" VerticalOptions="Center" HorizontalOptions="Center" /> <!--<Button Text="Go to " BackgroundColor="Lime" VerticalOptions="Center" Clicked="Handle_Clicked" > </Button>--> <ListView x:Name="myListView" ItemSelected="Handle_ItemSelected"> <ListView.ItemTemplate> <DataTemplate> <ViewCell> <Label Text="{Binding}" VerticalOptions="Center" HorizontalOptions="Center" /> </ViewCell> </DataTemplate> </ListView.ItemTemplate> </ListView> </StackLayout> </ContentPage.Content> </ContentPage>

Aquí está el controlador OnClick:

async void Handle_Clicked(object sender, System.EventArgs e) { await Navigation.PushAsync(new Page1()); }


Debería poner su página secundaria de TabbedPage en NavigationPage. Lo siguiente son fragmentos de código de la documentación de Xamarin.

En Xaml:

<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:TabbedPageWithNavigationPage;assembly=TabbedPageWithNavigationPage" x:Class="TabbedPageWithNavigationPage.MainPage"> <local:TodayPage /> <NavigationPage Title="Schedule" Icon="schedule.png"> <x:Arguments> <local:SchedulePage /> </x:Arguments> </NavigationPage> </TabbedPage>

O en el código:

public class MainPageCS : TabbedPage { public MainPageCS () { var navigationPage = new NavigationPage (new SchedulePageCS ()); navigationPage.Icon = "schedule.png"; navigationPage.Title = "Schedule"; Children.Add (new TodayPageCS ()); Children.Add (navigationPage); } }


Este error aparecerá solo en iOS.

En App.cs Rootpage (página de inicio), da como a continuación

public App() { MainPage=new NavigationPage(new LoginPage()); }

Ahora, podemos usar PushAsyn () en Globally