返回

如何为 iOS 13 配置暗黑模式

IOS

尽管暗黑模式在 macOS 上早已推出,但直到 iOS 13,它才正式出现在移动设备上。从本质上讲,它与应用程序中的夜间模式并无二致,只不过被集成到了 iOS 系统本身中。

作为一名 iOS 开发者,了解如何为应用程序配置暗黑模式至关重要。这不仅可以提升用户体验,还能满足苹果对深色主题支持的要求。

使用 SwiftUI 实现

设置场景

在 SwiftUI 中,您可以通过修改应用程序场景的环境首选项来实现暗黑模式。代码如下:

@Environment(\.colorScheme) var colorScheme

struct ContentView: View {
    var body: some View {
        // 代码逻辑
        
        return VStack {
            // 调整内容以匹配配色方案
            if colorScheme == .dark {
                // 暗黑模式样式
            } else {
                // 亮色模式样式
            }
        }
    }
}

使用 DynamicColor

DynamicColor 是一种便捷的方法,可根据当前配色方案动态调整视图的颜色。

struct ContentView: View {
    var body: some View {
        // 代码逻辑
        
        return VStack {
            Text("Hello, world!")
                .foregroundColor(Color.primary)
        }
    }
}

使用 UIKit 实现

设置 UIWindowSceneDelegate

在 UIKit 中,您可以通过遵循 UIWindowSceneDelegate 协议来实现暗黑模式。

class SceneDelegate: UIWindowSceneDelegate {
    func windowScene(_ windowScene: UIWindowScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        // 设置窗口的 UIUserInterfaceStyle
        windowScene.userInterfaceStyle = .dark
    }
}

处理视图样式

手动设置视图的界面样式,以匹配暗黑模式。

override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
    super.traitCollectionDidChange(previousTraitCollection)
    
    if traitCollection.userInterfaceStyle == .dark {
        // 暗黑模式样式
    } else {
        // 亮色模式样式
    }
}

最佳实践

  • 始终考虑应用程序的可用性,确保暗黑模式与应用程序的整体设计和功能相得益彰。
  • 避免使用纯黑色或纯白色,取而代之的是选择柔和的灰色调和蓝调调。
  • 测试您的应用程序在不同配色方案下的表现,并解决任何显示或功能问题。

结论

配置 iOS 13 中的暗黑模式是应用程序开发的重要一步。通过遵循本文概述的步骤,您可以轻松实现暗黑模式,并为用户提供卓越的体验。