SafePreviewDevice 0.3.0

SafePreviewDevice 0.3.0

Antonino Musolino 维护。



SafePreviewDevice

Swift: 5.1 Version: 0.1.0 Platforms: iOS – tvOS – watchOS - macOS License: MIT
SwiftPM: Compatible CocoaPods: Compatible

动机

2019 年 WWDC 上,苹果宣布了 SwiftUI,这是一个用于简单快速构建 UI 的新库。
Xcode 的 SwiftUI 预览功能让我们可以使用 .previewDevice() 修改器同时显示多个屏幕尺寸的应用设计。目前,这需要提供您想要测试的设备的确切名称:例如,“iPhone XS Max”。

.previewDevice(PreviewDevice(rawValue: "iPhone XS Max"))

或者更好

.previewDevice(.iPhone7)

此框架正为客户提供简单的选择预览设备的方式,或者他们根本记不住每一个 iOS 13 设备的名称(例如我😀)

系统要求

支持的平台包括 iOS (13.0)tvOS (13.0)watchOS (6.0)macOS (10.15),当然也包括 Xcode 11

安装

通过 Swift Package Manager 可以安装 SafePreviewDevice

Swift Package Manager

要使用 Apple 的 Swift 包管理器集成,请将以下内容作为依赖项添加到您的 Package.swift 文件中

.package(url: "https://github.com/posix88/SafePreviewDevice.git", .upToNextMajor(from: "0.1.0"))

然后运行 swift package update

否则,您可以直接在文件 -> Swift Packages -> 添加包依赖项中粘贴库的 URL:https://github.com/posix88/SafePreviewDevice

CocoaPods

在您的 Podfile 中添加以下条目

pod 'SafePreviewDevice'

然后运行 pod install

使用方法

只需将此框架导入到您的 SwiftUI 文件中,然后添加其中一个 View 修饰符到您的预览中

显示预览设备

.previewDevice(.iPhone7)

该修饰符将更改 Xcode SwiftUI 预览中显示的设备。

更改预览设备名称

.previewDeviceName(.iPhone7)

该修饰符将更改 Xcode SwiftUI 预览中显示的设备名称。

更新内容🚀

显示一个命名的预览设备

.previewNamedDevice(.iPhone7)

该修改器是第一组 API 的并集。它将更改 Xcode SwiftUI 预览设置中的显示设备以及设备名称。

显示应用配色方案的预览设备

.previewDevice(.iPhone7, withColorScheme: .dark)

此修改器将更改 Xcode SwiftUI 预览中显示的设备。它还将应用所选配色方案。

显示应用配色方案的命名预览设备

.previewNamedDevice(.iPhone7, withColorScheme: .dark)

此修改器将更改 Xcode SwiftUI 预览中显示的命名设备。它还将应用所选配色方案。

显示一组应用一系列配色方案的命名预览设备

.previewDevices([.iPhone7, .iPhoneSE, .iPhoneX], withColorScheme: [.dark, .light])

此修改器提供了一种与以下内容相对应的内联替代方案

Group {
    MyView().previewDevice(.iPhone7, withColorScheme: .dark)
    MyView().previewDevice(.iPhone7, withColorScheme: .light)
    MyView().previewDevice(.iPhoneSE, withColorScheme: .dark)
    MyView().previewDevice(.iPhoneSE, withColorScheme: .light)
    MyView().previewDevice(.iPhoneX, withColorScheme: .dark)
    MyView().previewDevice(.iPhoneX, withColorScheme: .light)
}

贡献

  • 如果您需要帮助或想提一个一般性的问题,请打开一个 issue。
  • 如果您发现了一个错误,请打开一个 issue。
  • 如果您有一个功能请求,请打开一个 issue。
  • 如果您想要贡献,请提交一个 pull request。

致谢

由...❤️在米兰由 Antonino Musolino 编制。