如何更改xamarin.forms ios上的导航栏标题图标?

时间:2018-03-07 14:38:31

标签: c# ios xamarin xamarin.forms

我想在我的xamarin.forms ios应用程序中更改导航栏标题图标。您可以在附加的图像中找到请求的点。app_screenshot

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您可以在Xamarin.Forms上使用Custom Renderers来实现此目的。由于每个UIViewController都有自己的NavigationItem,因此您应该在要修改其LeftBarButtonItem的特定页面中执行此操作。以下是我的渲染器:

[assembly: ExportRenderer(typeof(CustomPage), typeof(CustomPageRenderer))]
namespace UIBarButtomItemsForms.iOS
{
    public class CustomPageRenderer : PageRenderer
    {
        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);


        }

        public override void ViewWillAppear(bool animated)
        {
            base.ViewWillAppear(animated);

            var navigationItem = NavigationController.TopViewController.NavigationItem;

            UIBarButtonItem leftItem = new UIBarButtonItem(UIImage.FromBundle("Image.png"), UIBarButtonItemStyle.Plain, (sender, args) =>
            {

            });

            navigationItem.SetLeftBarButtonItem(leftItem, false);
        }
    }
}

然后在表单上,​​您可以使用此CustomPage,请注意您应该将MainPage包裹在NavigationPage中:MainPage = new NavigationPage(new MainPage());