我在标签页中有两个工具栏项目(有两个标签页)。
<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage
xmlns="bla"
xmlns:x="bla"
xmlns:views="clr-namespace:TestApp.Views"
x:Class="TestApp.Views.MyTabbedPage"
>
<views:Page1 Title="Page 1" />
<views:Page 2 Title="Page 2" />
</TabbedPage>
我正在尝试使用自定义渲染器移动左侧的一个工具栏项:
assembly: ExportRenderer(typeof(MyTabbedPage), typeof(TabbedPageRenderer))]
namespace TestApp.iOS
{
public class TabbedPageRenderer : TabbedRenderer
{
public override void ViewWillAppear(bool animated)
{
base.ViewWillAppear(animated);
var navigationItem = this.NavigationController.TopViewController.NavigationItem;
if (navigationItem.RightBarButtonItems.Length > 1)
{
navigationItem.LeftBarButtonItems = new UIBarButtonItem[] { navigationItem.RightBarButtonItems[1] };
}
navigationItem.RightBarButtonItems = new UIBarButtonItem[] { navigationItem.RightBarButtonItems[0]};
}
}
}
第一次加载页面时,它可以正常工作。但是,当我单击选项卡以显示第2页时,它再次向右渲染两个工具栏项(左侧的项目保持在左侧),从而生成3个工具栏项。
有人可以帮我解决这个小问题吗?
干杯