Xamarin NavigationBar back button click - xamarin

I am developing a xamarin forms application in which I need to intercept the navigation bar back button. I could do this in android by the
OnOptionsItemSelected method in the activity.
How can I do this in iOS platform? Please help me.

In the XAML Page you can set the has back button to false:
<ContentPage
NavigationPage.HasBackButton="False"
Title="MyPage">
</ContentPage>
And for Android device,you need to disable the physical back button function:
protected override bool OnBackButtonPressed()
{
//return base.OnBackButtonPressed();
return true;
}

Related

Navigation animation not working on Xamarin Forms

Default Xamarin forms navigation page animation is not working when using master details page
I am setting the master page from App.Xaml.cs
MainPage = new NavigationPage(new MasterDetailPOS() { });
When I am navigating a page from another page,the second parameter is for animate.
Navigation.PushAsync(new Page1(),true)
page navigation animation not working.
When I am not using master detail page then this animation working fine.
so how to solve this?

Xamarin.Forms 4.0 Shell TitleView iOS cannot set black background color

I am working for a company that brand guideline requesting title view having black (#000) as background color. I am using Xamarin.Forms 4.0 Shell to build the app. Android is working great but iOS is "not that black".
To demonstrate the problem, I am using official example "Xaminals" as trial and changing the title color to "Black". Please see the resulting image below.
iOS Screenshot
Android Screenshot
Please see if there are anything wrong with my code in order to achieve "Real Black" (#000) for iOS title view background color. Thanks in advance!
Sample for reference.
The title view is placed on the Navigation bar. And the default setting(translucent) for navigation bar on iOS is true. So it looks like not really black.
If you don't want this effect you can disable it on iOS project:
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
Xamarin.Forms.Forms.SetFlags("CollectionView_Experimental");
global::Xamarin.Forms.Forms.Init();
LoadApplication(new App());
UINavigationBar.Appearance.Translucent = false;
return base.FinishedLaunching(app, options);
}

Xamarin forms UWP AppViewBackButtonVisibility.Collapsed doesn't seem to work

I'm using Xamarin Forms 3.6.
I want to hide the back button in the UWP app.
In the UWP App.xaml.cs OnLaunced I've added.
SystemNavigationManager
.GetForCurrentView()
.AppViewBackButtonVisibility = AppViewBackButtonVisibility.Collapsed;
I've also added it to each ContentPage (using dependency injection) so that in the constructor of each page runs the above code.
Each content page, I've also added:
NavigationPage.SetHasNavigationBar(this, false);
I always still seem to get the back button in the title bar on UWP.
Any ideas in Xamarin Forms UWP how to hide and keep hidden the back button?
For your requirement, please invoke SetHasBackButton static method in the page where you want to hide back button like the following.
public ItemDetailPage(ItemDetailViewModel viewModel)
{
InitializeComponent();
NavigationPage.SetHasBackButton(this, false);
BindingContext = this.viewModel = viewModel;
}

Xamarin Forms Iphone 5s. Custom Picker to custom Editor

I have a problem only in iphone 5s. When the focus change from custom control inherited from Picker to one inherited from Editor, the keyboard hide the Editor.
I found a solution. Just use the following code:
void Handle_Focused(object sender, Xamarin.Forms.FocusEventArgs e)
{
ScrollStack.ScrollToAsync(labelQuestion, Xamarin.Forms.ScrollToPosition.Start, true);
}

Xamarin Form Navigation Bar Color to be changed in Windows platform

I am using a Portable Xamarin form solution to create an Application that will work in IOS, Android and Windows.We are facing a problem in setting the background color of the Navigation Bar. BarBackground color is not working so We tried to change the colors in each Platform but couldn't do it in Windows.
Thanks in Advance.
You are using Xamarin.forms. So, change the constructor of App.Xaml.cs in your PCL.
public App()
{
MainPage = new NavigationPage(new Page1())
{
BarBackgroundColor = Color.Gray
};
}

Resources