Skip to content

Instantly share code, notes, and snippets.

@jessejiang0214
Last active January 17, 2016 07:43
Show Gist options
  • Save jessejiang0214/7a6c0d28752bcf623d9a to your computer and use it in GitHub Desktop.
Save jessejiang0214/7a6c0d28752bcf623d9a to your computer and use it in GitHub Desktop.
Back icon renderer ios
using System;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
using UIKit;
[assembly: ExportRenderer (typeof(ContentPage), typeof(ChangeBackIcon.iOS.NavigationPageRendereriOS))]
namespace ChangeBackIcon.iOS
{
public class NavigationPageRendereriOS : PageRenderer
{
public override void ViewWillAppear (bool animated)
{
base.ViewWillAppear (animated);
// If you want to hide the back button in some pages,
// you can pass a value to renderer and do this.
var page = this.Element as ICanHideBackButton;
if (page != null) {
if (page.HideBackButton) {
this.NavigationController.TopViewController.NavigationItem.SetHidesBackButton (true, false);
return;
}
}
// Change back icon.
this.NavigationController.TopViewController.NavigationItem.LeftBarButtonItem =
new UIBarButtonItem (
UIImage.FromFile ("Back.png"),
UIBarButtonItemStyle.Plain,
(sender, args) => {
// This will overwrite PopView behavior in Xamarin Forms.
NavigationController.PopViewController (true);
});
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment