当我在开发iOS应用程序时,我需要用黑暗模式选项在模拟器中测试它,这样我就可以更清楚地了解应用程序的UI。但是当我进入设置时,我没有得到暗模式的选项,因为真实设备显示。


当前回答

或者,你也可以通过编程方式切换外观(docs):

override func viewDidLoad() {
    super.viewDidLoad()
    #if DEBUG
    // change the appearance only while testing  
    overrideUserInterfaceStyle = .dark
    #endif
}

其他回答

在设置中,向下滚动到开发器,然后黑暗外观…


更新

除了上面的,现在有许多其他的方法来启用模拟器中的黑暗外观,如下面许多伟大的答案所示。

•从Xcode更改环境重写(@AshCameron)

从模拟器菜单中切换外观(@Shredder2794)

从命令行使用xcrun simctl ui启动外观更新…(@blackjacx, @tadija)

•编程使用overrideUserInterfaceStyle = .dark (@thisIsTheFoxe)

•在您的信息中指定UIUserInterfaceStyle。plist (@DhavalGevariya)

•使用Curtis Herbert的SimGenie…https://simgenie.app

有两种方法在模拟器中启用暗模式。 注意:请确保您使用的是iOS 13模拟器。x d

解决方案1:更改生成设置

打开设置应用程序 选择开发人员 启用暗色外观

解决方案2:以编程方式

只需在ViewController文件中添加此代码块。

override func viewDidLoad() {
    super.viewDidLoad()
    #if DEBUG
    // This changes appearance only for debug mode
    overrideUserInterfaceStyle = .dark
    #endif
}

查看苹果文档了解更多细节。

从终端:

xcrun simctl ui booted appearance light

xcrun simctl ui booted appearance dark

或者,你也可以通过编程方式切换外观(docs):

override func viewDidLoad() {
    super.viewDidLoad()
    #if DEBUG
    // change the appearance only while testing  
    overrideUserInterfaceStyle = .dark
    #endif
}

您可以切换界面模式(即亮/暗),以及调整动态类型设置(当模拟器运行时),如下所示: