xamarin - Xamarin.iOS NavigationController.SetToolbarHidden = false 无法正常工作
问题描述
我想要做什么:
我希望本机 iOSNavigation toolbar
可见,如您在这张图片中看到的那样(具有旧的 iOS 风格,但它用作说明性材料):
但我的问题是,本机UINavigationController
工具栏覆盖了整个屏幕。
为了重现我的问题,我在 Windows 上使用 Microsoft Visual Studio 2017 创建了一个简单的空白跨平台(Android 和 iOS)应用程序。
我做的第一件事是MainPage
在 a中显示NavigationPage
(MainPage 需要在 NavigationController 中显示),所以我将 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 模拟器上启动应用程序时,它看起来像这样(工具栏覆盖整个屏幕):
解决方案
推荐阅读
- android - 取消视图android顶部的图像或按钮
- c# - TimerTick 永远不会触发
- hadoop - Hortonworks Hive ODBC 驱动程序 DB-240000
- javascript - 为什么我在浏览器控制台和网络选项卡中得到两个不同的响应
- javascript - 在 Chrome 浏览器的 React 中使用时,自动完成功能不起作用
- javascript - 求和和计数 D3.js
- android - 失败的 sepolicy 检查 - Android Pie 构建 - “core_data_file_type”属性
- javascript - 发布 CSS 不转换自定义属性
- php - 需要返回与 api 资源的关系
- jquery - 按钮点击动画marginTop