【问题标题】:How to effectively disable Dark Mode theming in Nativescript?如何在 Nativescript 中有效地禁用暗模式主题?
【发布时间】:2020-04-25 13:15:44
【问题描述】:

我尝试添加

<key>UIUserInterfaceStyle</key>
   <string>Light</string>

到 App_Resources/iOS/Info.plist

但应用程序仍然处于暗模式,即使在重建并删除挂钩、node_modules 和平台之后也是如此。

我正在使用tns preview --bundle

【问题讨论】:

  • 使用 {N} 主题,您可以轻松切换模式。
  • 也许是个愚蠢的问题,但这应该自动为我反转所有颜色,还是我仍然需要手动编写所有暗模式样式?

标签: ios nativescript nativescript-vue


【解决方案1】:

不确定您的代码会发生什么,但它确实应该可以工作。我一直在使用它,直到上次更新(当我们终于有时间处理暗模式时)。

您还应该能够使用

强制灯光模式
import Theme from "@nativescript/theme";

Theme.setMode(Theme.Light);

来源:https://github.com/NativeScript/theme

【讨论】:

  • 我会在 app.js 中设置这个吗? App.vue?
  • 抱歉,在您的 main.js 中回复晚了。使用 New Vue({...}).$start(); 加载应用程序的文件;
  • 很遗憾没有解决...暗模式仍在显示。
【解决方案2】:

除了我做的 plist(安装了 Nativescript 主题)

Page class="ns-light"

在 iOS 13.1 上为我工作

【讨论】:

  • 我需要在我的应用的每个页面中添加这个吗?
  • 不,您可以在框架上执行此操作,template: ' &lt;Frame class="ns-light"&gt; &lt;Home /&gt; &lt;/Frame&gt;' 请参阅我在此处的主题页面上对此的讨论:github.com/NativeScript/theme/issues/244 如果这对您有用,请用复选标记标记答案:)
  • 我希望它对我有用。但它没有。 :( 我真的不知道发生了什么。也许我需要重构这个应用程序的 Nativescript-Theme 来尝试解决这个问题。
  • 您能否编辑您的原始问题以包括: tns doctor app.scss package.json 信息,我怀疑您的主题或 ios 工具或某些内容未更新到某个版本,这不再是错误。
【解决方案3】:

放入 AppDelegate

self.window?.backgroundColor = .white
            if #available(iOS 13.0, *) {
                self.window?.overrideUserInterfaceStyle = .light
            }

【讨论】:

    猜你喜欢
    • 2020-12-26
    • 2021-10-15
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 2021-09-10
    • 2021-10-21
    • 2021-10-16
    • 2021-03-28
    相关资源
    最近更新 更多