如何在 iOS Xcode Swift Playground 上模拟暗模式

     2023-02-23     44

关键词:

【中文标题】如何在 iOS Xcode Swift Playground 上模拟暗模式【英文标题】:How to simulate dark mode on iOS Xcode Swift Playground 【发布时间】: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 中启用暗模式?

【问题讨论】:

【参考方案1】:

您可以使用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

【讨论】:

【参考方案2】:

模拟器很可能是实际设备。对于此解决方案,请在 Xcode 中运行您的模拟器。模拟器主屏幕显示后,转到模拟器上的设置菜单,在设置菜单上有一个开发者菜单。点击开发者菜单,你会看到深色外观开关。如果您切换该栏,那么您的所有应用程序都将在暗模式下运行。 (如果您的应用有深色模式版本)。

【讨论】:

如何在 Xcode 8/Swift 3 中创建 iOS liveView [重复]

】如何在Xcode8/Swift3中创建iOSliveView[重复]【英文标题】:HowdoyoucreateaniOSliveViewinXcode8/Swift3[duplicate]【发布时间】:2016-11-0613:20:30【问题描述】:我不知道如何在Xcode8/Swift3Playground中创建和显示实时视图。如果Apple有关于Playground和实... 查看详情

如何在 iOS Xcode Swift Playground 上模拟暗模式

】如何在iOSXcodeSwiftPlayground上模拟暗模式【英文标题】:HowtosimulatedarkmodeoniOSXcodeSwiftPlayground【发布时间】:2020-05-2114:12:33【问题描述】:类似于HowtousedarkmodeinsimulatoriOS13?和HowtoenableDarkModeontheSimulator?,如何在XcodeSwiftPlaygroundLiveVie 查看详情

如何在 SWIFT Xcode 中导入 Rollout.io

】如何在SWIFTXcode中导入Rollout.io【英文标题】:HowtoImportRollout.ioinSWIFTXcode【发布时间】:2015-10-1801:30:37【问题描述】:我正在尝试安装rollout.io,它只是说将代码放入您的ApppDelegate中,问题是它在Objective-C中。因此,我使用转换器... 查看详情

如何在 Xcode 8 和 iOS 10 中使用 AFNetworking 类和 Swift 3 上传图像

】如何在Xcode8和iOS10中使用AFNetworking类和Swift3上传图像【英文标题】:HowdoIuploadanimageusingAFNetworkingclasswithSwift3inXcode8andiOS10【发布时间】:2017-04-2804:45:36【问题描述】:manager.post(urlString,parameters:perameter,progress:nil,success:reques 查看详情

如何让链接在 iOS 中使用 Xcode/Swift 自动打开 safari 应用程序(不是本地)?

】如何让链接在iOS中使用Xcode/Swift自动打开safari应用程序(不是本地)?【英文标题】:Howtohavelinksautomaticallyopenthesafariapp(notlocally)iniOSwithXcode/Swift?【发布时间】:2020-03-1519:19:21【问题描述】:我正在努力将SnapSDK集成到我的应用... 查看详情

如何在 Xcode 中增加字体大小以实现 swift [重复]

】如何在Xcode中增加字体大小以实现swift[重复]【英文标题】:HowcanIincreasethefontsizeinXcodeforswift[duplicate]【发布时间】:2016-08-0113:03:37【问题描述】:我是swift和Xcode的新手,即将开始一个iOS学习模块。问题:我很难在Xcode操场上找... 查看详情

如何在 SWIFT3 XCODE 8.2 的 IOS 应用程序中显示 Snackbar 的操作中的特定视图

】如何在SWIFT3XCODE8.2的IOS应用程序中显示Snackbar的操作中的特定视图【英文标题】:HowtodisplayaspecificviewfromtheactionoftheSnackbarinIOSappinSWIFT3XCODE8.2【发布时间】:2018-12-0315:54:24【问题描述】:如何通过IOS中Snackbar的操作在SWift3中显示我... 查看详情

如何使用 Swift 2 + XCode 7 + iOS 9 获取和解析 JSON [重复]

】如何使用Swift2+XCode7+iOS9获取和解析JSON[重复]【英文标题】:HowToFetchandParseJSONUsingSwift2+XCode7+iOS9[duplicate]【发布时间】:2015-10-1016:41:01【问题描述】:一直在寻找有关Swift2和iOS9网络的有用教程,但该主题似乎没有在线内容。我已... 查看详情

如何在 iOS Swift 3.1 Xcode 8.3.2 中为 iPad 应用程序安装 iPhone 应用程序

】如何在iOSSwift3.1Xcode8.3.2中为iPad应用程序安装iPhone应用程序【英文标题】:HowtofitiPhoneappforiPadappiniOSSwift3.1Xcode8.3.2【发布时间】:2017-05-0218:40:58【问题描述】:我使用swift3和Xcode8.3.2制作了iOS应用程序,它可以正常工作(适合所... 查看详情

Swift - Xcode 8 - iOS 10 - 无法创建简单约束

...题描述】:编辑-我修好了。查看答案。我正在尝试学习如何以编程方式创建约束。我试图将UILabel限制在屏幕顶部,使用此代码,在viewDidLoad:overridefuncviewDidLoad()super.viewD 查看详情

如何在 Swift / Xcode 12.3 中重用代码块进行闭包

】如何在Swift/Xcode12.3中重用代码块进行闭包【英文标题】:HowdoIre-useablockofcodeforaclosureinSwift/Xcode12.3【发布时间】:2021-01-2016:00:51【问题描述】:在我的iOS应用程序中,我正在运行一个HKStatisticsCollectionQuery,它有一个query.initialResu... 查看详情

如何在 Swift 2 的 iOS 应用程序中使用音频?

】如何在Swift2的iOS应用程序中使用音频?【英文标题】:HowtouseaudioiniOSapplicationwithSwift2?【发布时间】:2015-09-0113:30:45【问题描述】:我使用SpriteKit和Swift在Xcode7测试版上制作了一个游戏,我尝试将音频放入其中,但由于Xcode发现3... 查看详情

我可以在 xcode 的不同文件夹中使用相同的文件名以及如何在 ios Swift 语言中访问它

】我可以在xcode的不同文件夹中使用相同的文件名以及如何在iosSwift语言中访问它【英文标题】:CanIusesamefilenameindifferentfolderinxcodeandhowtoaccessitiniosSwiftlanguage【发布时间】:2014-11-1007:03:10【问题描述】:我正在使用Swift语言开发iOS8... 查看详情

我如何通过 swift 2.3 项目支持 iOS 版本 10.3

】我如何通过swift2.3项目支持iOS版本10.3【英文标题】:HowcanisupportiOSVersion10.3withswift2.3project【发布时间】:2017-04-1611:34:22【问题描述】:美好的一天,上周我将我的Xcode从8.2更新到8.3,在我的项目中我使用了swift2.3版本。我尝试在... 查看详情

如何在 Swift Xcode 中创建自定义导航栏?

】如何在SwiftXcode中创建自定义导航栏?【英文标题】:HowtocreateacustomnavigationbarinSwiftXcode?【发布时间】:2017-10-3110:20:48【问题描述】:我正在为我的iOS毕业项目开发一个聊天应用程序。我设计了如下导航栏:现在我正在尝试在我... 查看详情

如何使用户定义的运行时属性在 xcode 10.2.1 和 ios 12.2 中起作用

】如何使用户定义的运行时属性在xcode10.2.1和ios12.2中起作用【英文标题】:Howtomakeuserdefinedruntimeattributefunctionedinxcode10.2.1andios12.2【发布时间】:2019-04-3013:51:55【问题描述】:我正在将代码转换为Swift5,因为Xcode10.2.1将不再支持Swif... 查看详情

Xcode + Swift - 如果设备使用 iOS 8,则只有某些元素

...OS7上测试的那样,我意识到UIVisualEffectView不起作用。无论如何我可以让U 查看详情

UIPopoverController、Xcode 6、IOS 8 使用 Swift

】UIPopoverController、Xcode6、IOS8使用Swift【英文标题】:UIPopoverController,Xcode6,IOS8usingSwift【发布时间】:2014-09-1612:16:06【问题描述】:我在使用swift让UIPopover出现时遇到了一些问题。被注释掉的代码在Objective-C中运行良好,但在Swift中... 查看详情