gpt4 book ai didi

c# - iOS 15 更新后 iOS 平台 Xamarin.forms 中的导航栏颜色变化问题

转载 作者:行者123 更新时间:2023-12-05 01:27:17 27 4
gpt4 key购买 nike

在我开发的应用程序中,屏幕底部的导航栏会根据用户选择的主题在黑色和白色之间变换颜色。在我将软件更新到 iOS 15 之前,它一直运行良好。现在,即使用户将其更改为深色模式,导航栏仍然保持白色(应该变成黑色)。知道为什么会这样吗?此问题仅存在于 iOS 平台。

最佳答案

更新 2:当前版本(在撰写本文时为 5.0.0.2244)应解决此问题

更新:此问题的修复已合并,应该会很快发布!

这是一个我们正在跟踪的已知问题 here .那里以自定义渲染器的形式提到了一个解决方法,我将把它粘贴在这里,但这是特定于 Shell 的。但它也可能会给您一些关于如何在常规组件上使用它的提示。

using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;

[assembly: ExportRenderer(typeof(APPNAME.AppShell), typeof(APPNAME.iOS.Renderers.CustomShellRenderer))]
namespace APPNAME.iOS.Renderers
{

public class CustomShellRenderer : ShellRenderer
{
protected override IShellSectionRenderer CreateShellSectionRenderer(ShellSection shellSection)
{
var renderer = base.CreateShellSectionRenderer(shellSection);

if (renderer != null)
{
if (renderer is ShellSectionRenderer shellRenderer)
{


var appearance = new UINavigationBarAppearance();
appearance.ConfigureWithOpaqueBackground();
appearance.BackgroundColor = new UIColor(red: 0.86f, green: 0.24f, blue: 0.00f, alpha: 1.00f);

appearance.TitleTextAttributes = new UIStringAttributes() { ForegroundColor = UIColor.White};


shellRenderer.NavigationBar.Translucent = false;
shellRenderer.NavigationBar.StandardAppearance = appearance;
shellRenderer.NavigationBar.ScrollEdgeAppearance = shellRenderer.NavigationBar.StandardAppearance;

}
}

return renderer;
}

protected override IShellItemRenderer CreateShellItemRenderer(ShellItem item)
{
var renderer = base.CreateShellItemRenderer(item);

if (renderer != null)
{
if (renderer is ShellItemRenderer shellItemRenderer)
{
var appearance = new UITabBarAppearance();

appearance.ConfigureWithOpaqueBackground();

shellItemRenderer.TabBar.Translucent = false;
shellItemRenderer.TabBar.StandardAppearance = appearance;

}


}

return renderer;
}

}
}

这个问题似乎是由针对 Xcode 13 编译/在 iOS 15 上运行引起的。链接问题中的其他人提到降级他们的 Xcode 使其适用于他们。

TL;DR:我们正在研究应该很快发布的修复程序:)

关于c# - iOS 15 更新后 iOS 平台 Xamarin.forms 中的导航栏颜色变化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69445988/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com