【问题标题】:How do I create a Navigation Bar in Xamarin Forms for iOS?如何在 Xamarin Forms for iOS 中创建导航栏?
【发布时间】:2016-12-03 07:19:58
【问题描述】:

Xamarin Forms 中的 XAML 是否支持为 iOS 创建导航栏?我搜索了所有 Xamarin 支持、论坛和互联网..

在这一点上,我不相信有支持,但我真的不想重新发明轮子,如果它已经发明了..


编辑

我指的是导航栏:

【问题讨论】:

    标签: c# xaml xamarin xamarin.ios xamarin.forms


    【解决方案1】:

    当你使用 NavigationPage 创建页面时,Xamarin.Forms 会自动在 iOS 上创建一个导航栏。你也可以修改导航栏的很多东西,像这样:

    NavigationPage.SetBackButtonTitle(this, ""); // Empty text
    NavigationPage.SetHasBackButton(this, false); // No back button
    NavigationPage.SetTitleIcon (this, someIcon); // Set the icon
    

    请看以下文章,对 ContentPage 和 NavigationPage 之间的区别进行了很好的解释:Xamarin.Forms Pages: ContentPage and NavigationPage

    Xamarin 的官方文档也很好地涵盖了导航:Hierarchial Navigation


    您是否将您的根页面设置为NavigationPage 类型?在您的 App 课程中,您应该有类似

    的内容
    MainPage = new ContentPage(); // etc.
    

    把它改成这样

    MainPage = new NavigationPage(new FirstPageOfTheApp());
    //FirstPageOfTheApp should be of type ContentPage.
    

    总而言之,根页面需要是NavigationPage 和所有其他类型为ContentPage 的页面。

    【讨论】:

    • 我尝试在 App.xaml.cs 和 Page.xaml.cs 中设置此属性,但没有任何效果。我创建了一个新的 Xamarin.Forms,我运行它,它没有导航栏:imgur.com/a/FLpXG
    • 您是否将根页面设置为 NavigationPage 类型?在您的 App 类中,您应该有类似 MainPage = new ContentPage 等的内容。将其更改为以下内容:MainPage = new NavigationPage(new FirstPageOfTheApp()); FirstPageOfTheApp 应该是 ContentPage 类型。所以总结起来,根页面需要是 NavigationPage 和所有其他类型为 ContentPage 的页面。我希望这会有所帮助。
    • 哇,好像是这样!正如你所说,我在 App.xaml.cs 中进行了更改,现在它显示了后退按钮! (一开始不是,只是在第一次更改页面后,但我想应该是这样):) 谢谢!
    • 不客气!这是代码中的一个小改动,但结果非常好。 :)
    猜你喜欢
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 2018-12-10
    • 2019-07-24
    • 2017-01-21
    • 1970-01-01
    • 2016-11-21
    • 1970-01-01
    相关资源
    最近更新 更多