更改 iOS Xamarin 表单上的导航栏高度?

Posted

技术标签:

【中文标题】更改 iOS Xamarin 表单上的导航栏高度?【英文标题】:Change Navigation bar height on iOS Xamarin Forms? 【发布时间】:2020-08-30 05:53:16 【问题描述】:

如何在 Xamarin Forms 中更改 ios 应用上 NavigationPage 导航栏的高度?实际上我有一个主详细信息页面,我想在 iOS 上更改导航栏高度。

【问题讨论】:

【参考方案1】:

我认为您现在无法更改 iOS 中 NavigationBar 的默认高度。您可以查看此答案以获取更多信息:

cant-change-navigation-bar-height-ios-11

它可能适用于早期的 iO​​S 版本,并在此线程中提供解决方案:

how-can-i-change-height-of-navigation-bar

我建议你隐藏该页面中的默认 NavigationBar 并在那里添加一个自定义 NavigationBar,然后你可以为自定义 NavigationBar 设置任何高度。

在Page中,隐藏默认的NavigationBar

public AboutPage()

    InitializeComponent();

    NavigationPage.SetHasNavigationBar(this,false);

然后添加您的自定义 NavigationBar:

<StackLayout>

    <StackLayout HeightRequest="150" BackgroundColor="Yellow" Orientation="Horizontal">

        <Button Text="Menu" HorizontalOptions="Start" Padding="5"/>
        <Label Text="I'm custom navigationBar" VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand"/>

    </StackLayout>

    <Grid>
       <!--... my layout-->
    </Grid>

</StackLayout>

如果你想改变你项目中所有导航栏的高度,你可以有一个带有自定义 NavigationPage 的 basePage。

我上传了一个示例项目here 并在 AboutPage 中添加了自定义导航栏。您可以查看并随时问我任何问题。

【讨论】:

谢谢,我将采用第二种方法为我的应用创建自定义导航栏。

以上是关于更改 iOS Xamarin 表单上的导航栏高度?的主要内容,如果未能解决你的问题,请参考以下文章

如何在xamarin表单ios中隐藏标签栏导航标题

创建自定义导航栏渲染器以在 xamarin 表单 IOS 项目中添加自定义后退按钮图标

如何在 iOS 12.2 中更改导航栏高度?

在 Xamarin Forms iOS 13+ 应用程序中设置导航栏按钮上的字体

iOS 11 - 无法更改导航栏高度

Xamarin 表单 - 导航后 CustomRenderer 不工作