问题标签 [uiuserinterfacestyle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
3182 浏览

ios - 如何从 Core Graphics 生成动态明暗模式 UIImage?

iOS 13 引入UIImage了自动适应当前的实例UIUserInterfaceStyle(也称为亮模式或暗模式)。但是,似乎只有从命名或系统映像(imageNamed:inBundle:withConfiguration:systemImageNamed:withConfiguration:)构造此类映像的方法。

UIImage有没有办法从 Core Graphics动态生成通用的明暗模式(例如使用两个CGImages 或使用 UIGraphicsImageRenderer)?

我没有看到任何 API,但也许我错了。

0 投票
1 回答
571 浏览

ios - 是否可以手动设置/切换每个应用程序的 UserInterfaceStyle / 暗模式?

在 iOS 13 上使用时,我已更新我的 iOS 11+ 以支持暗模式。当在设备设置中启用或禁用 UserInterfaceStyle / 暗模式时,这可以正常工作。

但是,我想为用户提供仅为我的应用程序激活/停用暗模式的选项。

使用开关覆盖/切换UserInterfaceStyle当前应用程序窗口没什么大不了的:

但是这种方法有两个缺点

  • 我想在暗模式、亮模式和系统首选项之间切换,其中前两个在当前系统设置上强制使用一种或另一种模式,第三个使用系统设置。但是设置后如何返回“使用系统设置”overrideUserInterfaceStyle呢?使用.unspecified似乎有效,但行为并未真正记录在案。是不是省着用?可以使用解决.uspecified(见评论)

  • 这仅适用于当前可用的窗口。但是,不同的第 3 方控件和库会创建自己的窗口(例如显示 toast 消息、弹出窗口等)。由于我无法控制这些窗口的创建,我无法覆盖它们的样式。

所以问题是:是否可以为整个应用程序动态覆盖 UserInterfaceStyle?

我知道我可以选择样式,Info.plist但这当然不能由用户更改。

0 投票
2 回答
1219 浏览

ios - 如何在深色模式下使用 Light UIUserInterfaceStyle 图像版本?

我用的是图片,这张图片有明暗两个版本,但是当暗模式打开时UIUserInterfaceStyle,我需要将图像光版本合二为一。UIViewController我知道我可以使用tintColor,但我想知道是否有其他方法可以做到这一点。

0 投票
2 回答
3291 浏览

ios - 如何在我的 iOS 应用程序中处理暗模式的黑色内容图像?

iOS dark mode在我的 iPad 应用程序中完全支持。该问题仅适用于品牌徽标图像为黑色时的暗模式。一般来说,所有品牌标志都不是白色的,所以灯光模式没有问题。

以下是两种模式的屏幕截图:

灯光模式下的 Adura 品牌标志

在此处输入图像描述

深色模式下的 Adura 品牌标志

在此处输入图像描述

我怎样才能容纳这样的标志?我很少有人建议在标志后面设置灰色的背景视图,但有些品牌可能会出现灰色标志。

0 投票
1 回答
84 浏览

ios - 自定义暗模式 iOS 问题

设置了三个枚举来实现: UIUserInterfaceStyleUnspecified-> 监听 iOS 设置模式的变化 UIUserInterfaceStyleLight-> 覆盖 LIGHT 模式而不考虑 iOS 设置模式 UIUserInterfaceStyleDark-> 覆盖 DARK 模式而不考虑 iOS 设置模式

当我设置时出现问题

(Parent_ViewController -> UIUserInterfaceStyleDark)

(Child_ViewController -> UIUserInterfaceStyleUnspecified)

然后,当我们将设置 iOS 模式从浅色切换到深色或反之亦然时,UI 没有变化,Child_ViewController并且UIUserInterfaceStyleUnspecified应该已经改变,但它始终具有深色主题颜色。

是否有任何解决方法或解决方案来解决此问题?

0 投票
1 回答
55 浏览

ios - 提交苹果商店以供审核 info.plist 中的 DarkMode UIUserInterfaceStyle 键

我通过 info.plist 中的以下代码设置了强制精简模式(选择退出暗模式)

UIUserInterfaceStyle 灯光

我正在尝试将 IOS 应用程序提交到苹果商店进行审核。上传申请有问题吗?

0 投票
1 回答
76 浏览

ios - ios 13 以下版本的 info.plist 中的 DarkMode UIUserInterfaceStyle 键

我通过 info.plist 中的以下代码设置了强制精简模式(选择退出暗模式)

UIUserInterfaceStyle 灯光

我正在尝试将 IOS 应用程序提交到苹果商店进行审核。ios 13 以下版本是否有问题(DarkMode 不支持版本)。因为 iOS 13 以下版本不需要 UIUserInterfaceStyle

0 投票
0 回答
27 浏览

ios - iOS Alert DIAlog 无法将 overrideUserInterfaceStyle 方法适应 iOS15 中的 UIUserInterfaceStyleLight

引入 iOS15 后,我最近在警报对话框中遇到了以下问题。我不确定为什么浅色用户界面样式无法生效并显示 iOS 13 中的白色背景。我想就此事寻求您的帮助。非常感谢提前!

以下截图显示了在模拟器上运行时 ios13 和 ios15 之间的差异。

在此处输入图像描述 在此处输入图像描述