2015-09-16 14 views
7

Nella mia applicazione iOS Xamarin Form il nome della pagina precedente viene visualizzato anche con il pulsante Indietro in tutte le pagine. C'è un modo per nascondere il titolo della pagina precedente?Form Xamarin: come nascondere il titolo del pulsante Indietro?

enter image description here

+0

possibile duplicato del [Xamarin IOS nascondere barra posteriore tasto] (http://stackoverflow.com/questions/21206744/xamarin-ios-hide-bar-back-button) – Joehl

+1

La mia applicazione è form Xamarin non app ios nativa xamarin. –

risposta

20

Se si utilizza la navigazione pagina, è possibile utilizzare una stringa vuota per il titolo di nuovo tasto:

NavigationPage.SetBackButtonTitle(this, ""); //Empty string as title 

Per quanto mi ricordo, interesserà la pagina successiva nello stack di navigazione (la pagina dopo "questo" avrà un titolo di pulsante Indietro vuoto). Non citarlo su questo.

È possibile nascondere completamente il pulsante Indietro con:

NavigationPage.SetHasBackButton(this, false); 

Un'altra opzione è quella di utilizzare una pagina modale sostituendo Navigation.PushAsync(yourPage) con Navigation.PushModalAsync(yourPage) che presenterà nella pagina modale.

FYI, il pulsante Indietro viene popolato automaticamente con la proprietà Titolo della pagina precedente (o verrà impostato su Indietro se il titolo non è stato impostato).

+0

Non riesco a trovare il metodo SetHasBackButton nella classe NavigationPage. –

+0

@RenzoCiot È un metodo statico, nel caso in cui si stia tentando di richiamarlo su un'istanza. –

3

C'è anche una soluzione alternativa per nascondere il titolo del pulsante a livello globale in tutta l'applicazione. Aggiunta ai AppDelegate.cs nel metodo FinishedLaunching:

UIBarButtonItem.Appearance.SetBackButtonTitlePositionAdjustment (new UIOffset (-100, -60), UIBarMetrics.Default); 
0

Aggiungendo a Cuckooshka risposta, di nuovo titolo pulsante viene nascosto in modalità orizzontale come

UIBarButtonItem.Appearance.SetBackButtonTitlePositionAdjustment (new UIOffset (-100, -60), UIBarMetrics.LandscapePhone);