我已经引用了以下链接来全局隐藏导航栏后退按钮标题,并且其工作正常,但是当我向工具栏添加任何文本时,工具栏文本也会隐藏。任何人都可以建议解决这个问题。
How to Hide Navigation bar back button title globally in xamarin.ios
这是我的工具栏代码:
ToolbarItem tbi = new ToolbarItem() { Text = "Text", Order = ToolbarItemOrder.Primary };
ToolbarItems.Add(tbi);
答案 0 :(得分:0)
更改或删除Xamarin.Forms上的后退按钮文本的最简单方法是使用以下代码:
NavigationPage.SetBackButtonTitle(this, "");
请注意,您需要在页面之前页面上显示后退按钮,即调用页面。
我试过了,你的工具栏代码工作正常。
修改
您还可以创建一个包含隐藏工具栏按钮代码的基页,并从中继承所有页面。
这是基页:
public class BasePage : ContentPage
{
public BasePage ()
{
NavigationPage.SetBackButtonTitle(this, "");
}
}
然后继承的页面看起来像这样
public partial class MainPage : BasePage
{
public MainPage()
{
InitializeComponent();
}
}
如果是XAML页面,请确保更改页面类型
<pages:BasePage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:pages="clr-namespace:ScratchPad.Pages;assembly=ScratchPad"
x:Class="ScratchPad.Pages.MainPage"
Title="List Test">
<StackLayout>
<Button Text="Page Two" Command="{Binding PageTwoCommand}"/>
<ListView ItemsSource="{Binding Items}"
SelectedItem="{Binding SelectedItem, Mode=TwoWay}">
</ListView>
</StackLayout>
</pages:BasePage>
答案 1 :(得分:0)
请参阅ToolbarItem in Official Source Code
我们可以看到,在iOS平台上进行编译时,ToolbarItem
将呈现为UIBarButtonItem
。
因此,以下代码也会影响ToolbarItem
外观。
UITextAttributes attribute = new UITextAttributes {TextColor = UIColor.Clear };
UIBarButtonItem.Appearance.SetTitleTextAttributes(attribute, UIControlState.Normal);
这是使用SetBackButtonTitlePositionAdjustment
的最简单方法。
UIBarButtonItem.Appearance.SetBackButtonTitlePositionAdjustment (new UIOffset (-100, 0), UIBarMetrics.Default);
如果您仍想寻找其他方式,请尝试Custom Renderers。