如何在 Xamarin.Forms 中将工具栏项设置为左侧?



我想在导航栏的左侧设置一个工具栏项,但我不知道如何设置它。Xamarin.Forms 的默认工具栏项位于右侧

在iOS中,我为此使用了自定义渲染器,我认为没有任何解决方法。在Android中,我真的不打扰,因为人们已经习惯了右侧的物品。下面的渲染器检查是否有 1 个以上的工具栏项,如果是,则将一个移到左侧。

[assembly: ExportRenderer(typeof(ContentPage), typeof(LeftNavigationItemRenderer))]
namespace MyApp.iOS
{
public class LeftNavigationItemRenderer : PageRenderer
{
public override void ViewWillAppear(bool animated)
{
base.ViewWillAppear(animated);
if (NavigationController == null)
return;
var navigationItem = NavigationController.TopViewController.NavigationItem;
var leftNativeButtons = (navigationItem.LeftBarButtonItems ?? new UIBarButtonItem[] { }).ToList();
var rightNativeButtons = (navigationItem.RightBarButtonItems ?? new UIBarButtonItem[] { }).ToList();
if (rightNativeButtons.Count > 1)
{
var nativeItem = rightNativeButtons.Last();
rightNativeButtons.Remove(nativeItem);
leftNativeButtons.Add(nativeItem);
}
navigationItem.RightBarButtonItems = rightNativeButtons.ToArray();
navigationItem.LeftBarButtonItems = leftNativeButtons.ToArray();
}
}
}

最新更新