繁体   English   中英

如何在IOS Xamarin.Forms中更改导航栏样式

[英]How to Change Navigation Bar Style in IOS Xamarin.Forms

我引用了以下链接来全局隐藏导航栏的后退按钮标题及其工作正常,但是,当我向工具栏添加任何文本时,工具栏上的文本也会被隐藏。 任何人都可以提出解决此问题的建议。

如何在xamarin.ios中全局隐藏导航栏后退按钮标题

这是我的工具栏代码:

ToolbarItem tbi = new ToolbarItem() { Text = "Text", Order = ToolbarItemOrder.Primary };
ToolbarItems.Add(tbi);

更改或删除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>

在此处输入图片说明

请参阅官方源代码中的ToolbarItem

我们可以看到,在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);

如果您仍然想找到其他方法,请尝试使用自定义渲染器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM