Xamarin表单:如何隐藏按钮标题?

时间:2015-09-16 05:51:54

标签: xamarin xamarin.ios xamarin.forms

在我的Xamarin Forms iOS应用程序中,前一页面名称也出现在所有页面的后退按钮中。有没有办法隐藏上一页的标题?

enter image description here

4 个答案:

答案 0 :(得分:22)

如果您使用导航页面,则可以使用空字符串作为后退按钮标题:

NavigationPage.SetBackButtonTitle(this, ""); //Empty string as title

据我记忆,它会影响导航堆栈的下一页('后面的页面会有一个空的后退按钮标题)。不要引用我的话。

您可以完全隐藏后退按钮:

NavigationPage.SetHasBackButton(this, false);

另一种选择是使用Navigation.PushAsync(yourPage)替换Navigation.PushModalAsync(yourPage)来使用模态页面,ReentrantReadWriteLock$NonfairSync(AbstractQueuedSynchronizer).doAcquireShared(int) line: 955 ReentrantReadWriteLock$NonfairSync(AbstractQueuedSynchronizer).acquireShared(int) line: 1282 ReentrantReadWriteLock$ReadLock.lock() line: 731 MemoryOnlyStore(FrontEndCacheTier).isPinned(Object) line: 111 LocalTransactionStore.put(Element) line: 226 JtaLocalTransactionStore.put(Element) line: 275将以模态方式显示页面。

仅供参考,后退按钮会自动填充上一页的标题属性(如果未设置标题,则默认为后退。)

答案 1 :(得分:4)

还有一种解决方法可以在整个应用程序中全局隐藏按钮标题。 在FinishedLaunching方法中添加AppDelegate.cs:

UIBarButtonItem.Appearance.SetBackButtonTitlePositionAdjustment (new UIOffset (-100, -60), UIBarMetrics.Default);

答案 2 :(得分:0)

添加到Cuckooshka答案,后退按钮标题隐藏在横向模式中

UIBarButtonItem.Appearance.SetBackButtonTitlePositionAdjustment (new UIOffset (-100, -60), UIBarMetrics.LandscapePhone);

答案 3 :(得分:0)

如果从第1页导航到第2页,则在第1页:

        public Page1()
        {
            NavigationPage.SetBackButtonTitle(this, "");
            InitializeComponent();
        }

如果一切正确,在第2页中您将看不到导航栏的标题。