问题标签 [ios-darkmode]

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 投票
1 回答
724 浏览

themes - 如何避免或防止应用程序中的暗模式?

iPhone 设备主题为深色。因此,我的应用程序主题因此而发生了一些变化。我可以在我的应用程序中阻止这种暗模式吗?如果是怎么办?

0 投票
1 回答
258 浏览

swift - 在swift中覆盖系统UI样式时如何更改默认状态栏颜色

当我将 overrideUserInterfaceStyle 覆盖为明暗模式设置为 on 时,在设备上,它不会将状态栏样式更改为 .lightcontent。

那是我覆盖界面样式的代码。当我这样做时,状态栏将保留深色内容。

0 投票
2 回答
1183 浏览

ios - Objective-C - 当 iOS 13 暗模式更改时,以编程方式更改渐变背景颜色 UIViewController

我正在我的应用程序中实现管理iOS 13 暗模式的功能。我的 ViewController 的背景有问题。

我的视图控制器具有使用CAGradientLayer.

我设法根据用户的选择更改构成渐变的颜色,当它从暗模式 ---> 亮模式亮模式 ---> 暗模式..

我的问题是,当用户在后台发送我的应用程序以转到控制中心并更改模式时,我用于背景颜色的渐变颜色不会立即更改...

要获得渐变颜色更改,用户必须关闭应用程序并重新打开它。

一个非常糟糕的用户体验,所以我想问你如何解决这个问题......

这是我用来根据用户选择的iOS模式更改渐变颜色的方法

0 投票
1 回答
3460 浏览

swift - 检测 iOS 暗模式的变化

我在这里发现了几个与我遇到的问题相关的问题,但由于我对 iOS 开发还很陌生,我不确定人们如何/在哪里实施他们的解决方案。由于我也是 StackOverflow 的新手,我无法对他们的帖子发表评论,因此我们将不胜感激。

检测 iOS 暗模式更改

如何检测 iOS 13 中的 Light\Dark 模式变化?

我有一个collectionView,当我切换到暗模式和从暗模式切换时,单元格borderColor 会变为看起来像黑色的颜色,而不是它应该基于我分配给它的systemGray 颜色的颜色。

在我上面链接的答案中,人们建议使用 layoutSubviews() 和/或 traitCollectionDidChange() 但我不确定在哪里实现这些功能。我似乎在 UIViewController 或 UICollectionView 的定义中找不到函数。

当我使用 reloadData() 重新加载视图时,颜色会变为应有的颜色,但我想知道何时/在何处调用函数 layoutSubviews() 和/或 traitCollectionDidChange()。

0 投票
1 回答
64 浏览

ios13 - 如何在 iOS 13.x 中支持 UIlabelTextColor 的暗模式?

我希望 UIlabel 的文本颜色在深色模式下为黄色,在正常模式下为黑色。

0 投票
1 回答
2312 浏览

html - PWA - IOS 13 暗模式下的状态栏背景和文本颜色

在 Apple 在新的 IOS 13 上引入深色模式后,我的 PWA 状态栏颜色出现了一些问题。

我曾经将“apple-mobile-web-app-status-bar-style”设置为“black-translucent”,以获得状态栏上带有白色文本的透明背景。现在,根据用户系统主题(浅色或深色),文本颜色从白色变为黑色,反之亦然。因为我的布局使用深色背景,所以结果现在是“几乎黑色”背景上的黑色文本。

有什么解决方法吗?

black-translucent - 显示白色文本 - ios12 black-translucent - 显示黑色文本 - ios13

0 投票
3 回答
32641 浏览

ios - 如何防止 iOS 13 暗模式破坏电子邮件

我们有一个电子商务应用程序,可以在购买时发送订单详细信息,我们只是重新设计了该电子邮件模板。在过去的几天里,我们收到了一些客户在电子邮件中缺少一半文本的报告。

在最终获得屏幕截图后,我们了解到该问题发生在使用深色模式的 iPhone 上。到目前为止,他们都是将 gmail 与 Mail 应用程序或 Safari 一起使用的客户(两者都有相同的问题)。我不确定gmail因素是否相关或巧合。

我们的电子邮件很简单——它有白色背景、灰色标题和黑色正文。深色模式保持白色背景和灰色标题不变,但正文正在从黑色更改为白色。在白色背景上,白色文本显然是不可见的,电子邮件看起来像是缺少大量内容。

有什么办法可以防止暗模式将我们的文本从黑色变为白色?

我应该注意到我们还在电子邮件中嵌入了一个二维码,所以我担心允许暗模式继续为我们的完整电子邮件重新着色的解决方案,因为我相信这会使二维码更难被识别.

编辑:这与任何应用程序代码无关,因此不适用为暗模式开发 iOS 的指南。这只是 iOS 13 上的 Apple 邮件应用程序在暗模式下如何显示 HTML 电子邮件的问题。

0 投票
1 回答
3162 浏览

ios - UINavigationBar 外观 + iOS 13 深色模式 - 如何设置应用程序宽颜色?

在 iOS 12 和之前,我曾经[[UINavigationBar appearance] setBackgroundColor...]为所有导航栏设置应用程序范围的背景颜色。

在 iOS 13 中,我想在支持暗模式的同时做同样的事情。在应用程序资产目录中,我定义了一个名为 ColorNavBarBackground并指定了 aAny appearanceDark appearancecolor。

如果禁用深色模式,则Any使用正确的颜色。但是,当启用深色模式时,指定的Dark颜色将被忽略,所有导航栏都显示为纯黑色......

但是,如果我在 IB 中手动将 NavBar 的背景颜色设置为NavBarBackground这个 NavBar 在正常模式和暗模式下都显示正确的颜色。

那么,如何[UINavigationBar appearance]与深色模式和命名颜色一起使用呢?

0 投票
1 回答
644 浏览

ios - 使用 iOS 13 暗模式时如何使 UITabBar 不透明?

当我设置UITabBariOS 的背景颜色时,它会自动变亮这种颜色,因为默认UITabBar是半透明的。

但我想使用一个UITabBar不是半透明的。在 iOS 12 及更低版本中,我通过设置所需颜色的背景图像解决了这个问题:

这很好用。但是,我想在 iOS 13 中使用新的暗模式。显然,当使用彩色背景图像而不是背景颜色时,这是无法做到的。相反,必须手动对外观变化做出反应以切换到另一个彩色图像。

如果可以告诉 iOS 不要将 `UITabBar 半透明绘制,则使用命名颜色会更好。


如果我尝试禁用半透明效果,则会UITabBar变成全白而不是指定颜色。

如何解决这个问题?

0 投票
2 回答
900 浏览

ios - 如何设置 iOS 13 深色模式大标题颜色?

在我的应用程序中,我使用

颜色集

哪里有颜色集color_custom。但是在颜色模式之间切换时,它只使用 Any Appearance 颜色。未使用深色外观。为什么?

添加:

经过一些研究,我认为接下来应该添加到问题中:在我的应用程序中,我使用切换器在模式之间切换。 Storage.isDarkModeOn = newState // saving in user defaults. 然后:

其中 PapaViewController 是我的应用程序中所有 UIViewControllers 的父类。因此,如果overrideUserInterfaceStyle == .dark和设备颜色模式 ==.light出现错误。如果然后我将设备颜色模式更改为.dark然后大标题看起来像预期的那样。