【问题标题】:How to remove top bar from Xamarin.Forms (iOS)?如何从 Xamarin.Forms (iOS) 中删除顶部栏?
【发布时间】:2017-11-14 16:00:05
【问题描述】:

如何从 Xamarin.Forms 的 iOS 项目中删除顶部栏?时间和“承运人”字在哪里

.. 或者至少测量一下它的高度?

只是为了确定..我不想看到电池、时间...我想隐藏红色矩形中的条:

【问题讨论】:

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


【解决方案1】:

您可以在FinishedLaunching 方法中的AppDelegate.cs 中添加此代码after LoadApplication (new App ()); 在 iOS 项目上:

UIApplication.SharedApplication.StatusBarHidden = true;

也可以在你的info.plist上添加这个:

<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

【讨论】:

  • 在 FinishedLaunching 中?它看起来不起作用:/
  • 我不确定你是否理解我的意思.. 我不想看时间 - 这个栏
  • 谢谢!稍后我会看看这个,会及时通知你
【解决方案2】:
  1. 转到 iOS 项目中的 Info.plist 文件
  2. 在其中一条线上单击 Source 和 Hover,将显示 (+) 和 (-) 按钮。点击加号按钮添加新密钥
  3. 以大写 V 开头输入,然后自动首选查看基于控制器的状态栏外观。将其添加为 KEY。
  4. 将值设置为“” 现在你仍然可以看到一个人的时间
  5. 然后再次点击加号按钮添加新密钥
  6. 现在选择状态栏最初隐藏并添加键“Yes

如果您想以编程方式隐藏每个页面。您必须使用 UIViewController 为每个表单页面创建自定义渲染器。

在 UIViewController 中,你可以重写如下方法

public partial class CustomViewController : UIViewController
{
      public override bool PrefersStatusBarHidden()
        {
            return true;
        } 
}

【讨论】:

  • 这行得通,但是有没有办法只在一页上隐藏它(基本上是最后一页)?
  • @IshThomas 我已经更新了我的答案。另外,如果您在自定义渲染器方面有任何困难,请参考下面的链接以使用 UIVIewController 为每个页面编写自定义渲染器blog.xamarin.com/…
  • 谢谢,我稍后会尝试,会及时通知您
【解决方案3】:

转到 info.plist

只需检查 HideStatusBar

【讨论】:

  • 不幸的是我找不到“隐藏状态栏”选项。我使用的是 VS 2017
  • @IshThomas - 在 VS 2017 中,双击解决方案资源管理器中的 Info.plist,查看其可视化设计器。在最底部,应显示此答案显示的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-11
  • 1970-01-01
  • 2022-10-04
  • 1970-01-01
  • 1970-01-01
  • 2014-11-23
相关资源
最近更新 更多