我想更改后退按钮的文字并删除箭头。我希望这样做:
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Japanese;assembly=Japanese"
x:Class="HelpHome"
Title="Home Screen abc"
NavigationPage.BackButtonTitle="< Last screen">
当我这样做时,标题被更改但不是BackButtonTitle。相反,BackButtonTitle默认为我以前的标签页的标题。
我还想删除箭头,但我不知道该怎么做?
答案 0 :(得分:3)
“箭头”实际上是iOS特定的设计实现。
您必须为ContentPage编写自定义渲染器才能删除此箭头。 我不确定您是否可以只查询导航栏的后退按钮并删除箭头视图。你可以通过搜索“ios导航栏删除后退箭头”找到一些东西
我在这里展示的方式,您将删除按钮并将其替换为自制按钮: (在这种情况下,你必须重新连接按钮事件)
[assembly: ExportRenderer(typeof(Xamarin.Forms.ContentPage), typeof(CoolPage_iOS))]
namespace YourProject.iOS.Renderer
{
public class CoolPage_iOS : PageRenderer
{
public override void ViewWillAppear(bool animated)
{
base.ViewWillAppear(animated);
var onlyTextBackButton = new UIBarButtonItem(new UIButton() { Text = "New back Text" } );
//implement click via: onlyTextBackButton.Clicked += YourClickMethod.....
ParentViewController.NavigationItem.LeftItemsSupplementBackButton = false; //Set to false, so the real back button will be taken away
ParentViewController.NavigationItem.LeftBarButtonItems = new UIBarButtonItem[] { onlyTextBackButton };
}
}
}