gpt4 book ai didi

ios - iOS 13 是否可以选择退出深色模式?

转载 作者:行者123 更新时间:2023-12-03 04:14:57 24 4
gpt4 key购买 nike

我的应用程序的很大一部分由 Web View 组成,以提供 native 实现尚不可用的功能。网络团队没有计划为网站实现深色主题。因此,我的应用程序在 iOS 13 上看起来有点一半支持深色模式。

是否可以选择退出深色模式支持,以便我们的应用始终显示浅色模式以匹配网站主题?

最佳答案

首先,这是Apple's entry与选择退出黑暗模式有关。此链接中的内容是针对 Xcode 11 和 iOS 13 编写的:

通过 info.plist 文件的整个应用程序 (Xcode 12)

在 info.plist 文件中使用以下键:

UIUserInterfaceStyle

并为其指定一个值Light

UIUserInterfaceStyle 分配的 XML:

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

Apple documentation for UIUserInterfaceStyle

<小时/>

通过build设置中的 info.plist 实现整个应用程序 (Xcode 13)

enter image description here

<小时/>

通过 window 属性获取整个应用程序窗口

您可以针对应用的 window 变量设置 overrideUserInterfaceStyle。这将适用于窗口中出现的所有 View 。此功能在 iOS 13 中可用,因此对于支持以前版本的应用,您必须包含可用性检查。

根据您的项目的创建方式,这可能位于 AppDelegateSceneDelegate 文件中。

if #available(iOS 13.0, *) {
window?.overrideUserInterfaceStyle = .light
}
<小时/>

单独的 UIViewController 或 UIView

您可以针对 UIViewControllerUIViewoverrideUserInterfaceStyle 变量设置 overrideUserInterfaceStyle。此功能在 iOS 13 中可用,因此对于支持以前版本的应用,您必须包含可用性检查。

Swift

override func viewDidLoad() {
super.viewDidLoad()
// overrideUserInterfaceStyle is available with iOS 13
if #available(iOS 13.0, *) {
// Always adopt a light interface style.
overrideUserInterfaceStyle = .light
}
}

For those poor souls in Objective-C

if (@available(iOS 13.0, *)) {
self.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;
}

当针对 UIViewController 设置时, View Controller 及其子级将采用定义的模式。

当针对 UIView 设置时, View 及其 subview 将采用定义的模式。

Apple documentation for overrideUserInterfaceStyle

<小时/>

通过 SwiftUI View 进行单独 View

您可以将preferredColorScheme设置为浅色深色。提供的值将设置演示文稿的配色方案。

import SwiftUI

struct ContentView: View {
var body: some View {
Text("Light Only")
.preferredColorScheme(.light)
}
}

Apple documentation for preferredColorScheme

<小时/>

感谢 @Aron Nelson@Raimundas Sakalauskas@NSLeader@rmaddy 改进了此答案以及他们的反馈。

关于ios - iOS 13 是否可以选择退出深色模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56537855/

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