微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从不调用 Xamarin.iOS 自定义页面渲染器覆盖 PreferredStatusBarStyle

如何解决从不调用 Xamarin.iOS 自定义页面渲染器覆盖 PreferredStatusBarStyle

我为 iOS 编写了一个小的自定义渲染器,它能够在我需要某个页面时更改 StatusBar 文本颜色。渲染器只是一个基本的 PageRenderer,根据其他 SO 问题和 iOS 文档,您应该执行以下操作:

public override void ViewWillAppear(bool animated)
{
    base.ViewWillAppear(animated);
    //Call this method
    this.SetNeedsstatusBarappearanceUpdate();
}

public override UIStatusBarStyle PreferredStatusBarStyle()
{
    //This should be called and you should be able to return you desired style
}

然而,PreferredStatusBarStyle 覆盖方法从未被调用。 经过更多研究,原因肯定是我的页面被包装在一个导航页面中。 Swift 中有一个解决方案来调用 NavigationControllers 上的扩展,如这篇 SA 帖子中所述:link

我不知道如何在我的自定义渲染器中制作这样的扩展。如果有人有线索,我会很高兴听到。我找不到有关该主题的任何内容

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。