Xamarin.iOS NavigationController.SetToolbarHidden = false无法正常工作

时间:2018-09-11 09:58:14

标签: xamarin xamarin.ios uinavigationcontroller toolbar

我想做什么:
我希望原生iOS Navigation toolbar可以在此图片中看到(具有旧的iOS样式,但用作说明材料): enter image description here

但是我的问题是,原生UINavigationController工具栏覆盖了整个屏幕。

为重现我的问题,我在Windows上使用Microsoft Visual Studio 2017创建了一个简单的Blank跨平台(Android和iOS)应用程序。 我要做的第一件事是在MainPage中显示NavigationPage(要在NavigationController中显示MainPage,这是必需的),因此我将App.xaml.cs中的代码更改为

MainPage = new MainPage();

对此

MainPage = new NavigationPage(new MainPage());

为了使问题更明显,我在MainPage.xaml.cs构造函数中添加了以下行。

BackgroundColor = Color.Blue;

现在,我为MainPage添加了自定义渲染器。
自定义渲染器看起来完全像这样

[assembly: ExportRenderer(typeof(MainPage), typeof(MainPageRenderer))]

namespace App1.iOS {
    class MainPageRenderer : PageRenderer {
        public override void ViewWillAppear(bool animated) {
            base.ViewWillAppear(animated);

            NavigationController.SetToolbarHidden(false, animated);
        }
    }
}

现在,当我在iPhone模拟器上启动应用程序时,它看起来像这样(工具栏覆盖了整个屏幕):

enter image description here

0 个答案:

没有答案