问题标签 [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.
ios - 是否可以手动设置/切换每个应用程序的 UserInterfaceStyle / 暗模式?
在 iOS 13 上使用时,我已更新我的 iOS 11+ 以支持暗模式。当在设备设置中启用或禁用 UserInterfaceStyle / 暗模式时,这可以正常工作。
但是,我想为用户提供仅为我的应用程序激活/停用暗模式的选项。
使用开关覆盖/切换UserInterfaceStyle
当前应用程序窗口没什么大不了的:
但是这种方法有两个缺点:
我想在暗模式、亮模式和系统首选项之间切换,其中前两个在当前系统设置上强制使用一种或另一种模式,第三个使用系统设置。但是设置后如何返回“使用系统设置”可以使用解决overrideUserInterfaceStyle
呢?使用.unspecified
似乎有效,但行为并未真正记录在案。是不是省着用?.uspecified
(见评论)这仅适用于当前可用的窗口。但是,不同的第 3 方控件和库会创建自己的窗口(例如显示 toast 消息、弹出窗口等)。由于我无法控制这些窗口的创建,我无法覆盖它们的样式。
所以问题是:是否可以为整个应用程序动态覆盖 UserInterfaceStyle?
我知道我可以选择样式,Info.plist
但这当然不能由用户更改。
app-store - 暗模式 AppStore 政策
您好,我想知道通过在 plist 中设置User Interface Style
为强制我的应用程序进入灯光模式是否Light
会导致我的应用程序被拒绝?
ios - 是否可以从 xcode 10.x 检测到任一用户在 iPhone 上选择了暗模式
我仍在使用 xcode 10.2.1,并且由于其他一些问题尚未升级到 xcode 11。现在我想检测使用 iOS 13 的用户是否选择了深色模式或浅色模式作为他们的应用设置。
根据苹果文档,如果开发人员通过以前的 xcode 构建应用程序,则应用程序默认处于轻量模式,这是我的情况,很好。
那么,有没有办法检测用户当前的外观模式。
我正在使用代码片段:
但它总是返回未指定或轻。
ios - 如何使用 dynamicProvider 为暗模式创建初始化程序
致力于支持暗模式我已经能够使用这种模式更改主题时更改的动态颜色:
我正在尝试UIColor
通过支持暗模式来简化 iOS 12 和 13 之间的创建。我想出了一个简单的Theme
枚举来封装上面的所有逻辑,它只公开了 4 种情况,所以上面的声明简化为:
问题是,虽然在简化之前所有内容都按应有的方式更新,但现在theme
没有获得更新的值,因此颜色不会改变。这就是我Theme
使用init(dynamicProvider:)
初始化程序声明的方式,但是当您在暗/亮模式之间切换时,它似乎UITraitCollection.current
没有正确的值:
我在这里做错了什么?我认为初始化程序应该是这样工作的,但我无法在网上找到任何其他示例……</p>
react-native - 如何在 React Native 中强制禁用 iOS 暗模式
新的 iOS 13 更新引入了一个可选的系统范围。例如,这会导致 StatusBar 有浅色文本,在白色背景上可能会变得不可读。它还破坏了 iOS 日期时间选择器(请参阅DatePickerIOS 或react-native-modal-datetime-picker)
ios - 具有系统背景颜色的列表在暗模式下变得混乱
我正在尝试为将适应 iOS 模式(亮/暗)的列表设置背景颜色。我在 VStacks 中使用 .systemGray5 没有问题,但是当在列表中使用它并更改为暗模式时,我得到一个非常暗的,几乎是黑色的颜色,这使得一切都难以理解。
无论列表是动态的还是静态的,都会发生这种情况。这是一个错误吗?还是有其他方法可以做到这一点?
ios - UserInterfaceStyle Light 不适用于发布版本
User Interface Style = Light
我通过在plist
文件中设置来强制我的应用程序处于 Light 模式。
但是,它似乎仅在我以调试模式运行应用程序时才有效(插入电缆并运行)。当我归档 ipa 并分发到 TestFlight 时,它不起作用。有人有同样的问题吗?
请注意,状态栏、操作表、警报视图是受影响的控件。
任何帮助都感激不尽。谢谢。