【发布时间】:2020-05-21 14:12:33
【问题描述】:
类似于How to use dark mode in simulator iOS 13? 和How to enable Dark Mode on the Simulator?,如何在 Xcode Swift Playground Live View 中启用暗模式?
【问题讨论】:
标签: xcode swift-playground xcode11 ios-darkmode
类似于How to use dark mode in simulator iOS 13? 和How to enable Dark Mode on the Simulator?,如何在 Xcode Swift Playground Live View 中启用暗模式?
【问题讨论】:
标签: xcode swift-playground xcode11 ios-darkmode
您可以使用overrideUserInterfaceStyle在任何视图中对其进行测试
例如,您可以将此代码粘贴到 Playground 中进行检查(在 Xcode 11.3.1 中测试):
import Foundation
import PlaygroundSupport
extension UIColor {
static var primary: UIColor {
UIColor { trait -> UIColor in
return trait.userInterfaceStyle == .light ? .black : .white
}
}
static var secondary: UIColor {
UIColor { trait -> UIColor in
return trait.userInterfaceStyle == .light ? .white : .black
}
}
}
class DarkModeTestView: UIView {
let label = UILabel(frame: CGRect(x: 0, y: 0, width: 375, height: 300))
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = .secondary
label.text = "This text should be displayed in black for light mode and white for dark mode"
label.textColor = .primary
label.numberOfLines = 0
addSubview(label)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
let testView = DarkModeTestView(frame: CGRect(x: 0, y: 0, width: 375, height: 300))
testView.overrideUserInterfaceStyle = .dark // Change here .light or .dark
PlaygroundPage.current.liveView = testView
【讨论】:
模拟器很可能是实际设备。对于此解决方案,请在 Xcode 中运行您的模拟器。模拟器主屏幕显示后,转到模拟器上的设置菜单,在设置菜单上有一个开发者菜单。点击开发者菜单,你会看到深色外观开关。如果您切换该栏,那么您的所有应用程序都将在暗模式下运行。 (如果您的应用有深色模式版本)。
【讨论】: