UIViewPreview

1.0.3

Mattt's beautiful gist to gain SwiftUI previews for your UIViews turned into Swift Package.
bielikb/UIViewPreview

Mattt's beautiful gist to gain SwiftUI previews for your UIViews turned into Swift Package.

UIViewPreview Swift Package

Swift Package contains:

  • UIViewPreview
  • UIViewControllerPreview

Please read more about the use-cases for UIViewPreview in the NSHipster blogpost: https://nshipster.com/swiftui-previews/

Requirements:

  • macOS Catalina
  • Xcode 11.0 and above
  • Swift 5.1 and above
  • iOS 13.0 and above
  • tvOS 13.0 and above

Installation

Swift Package Manager

Add .package(url: "https://github.com/bielikb/UIViewPreview.git", from: "1.0.0") to your Package.swift file's dependencies.

If youre using Xcode 11.0 add UIViewPreview Swift Package to your target(s) using Xcode.

PreviewProvider (Official Apple Docs)

/// Produces view previews in Xcode.
///
/// Xcode statically discovers types that conform to `PreviewProvider` and
/// generates previews in the canvas for each provider it discovers.
@available(iOS 13.0, OSX 10.15, tvOS 13.0, watchOS 6.0, *)
public protocol PreviewProvider : _PreviewProvider

Example:

import UIViewPreview

#if canImport(SwiftUI) && DEBUG
import SwiftUI
@available(iOS 13.0, *)
struct Label_Preview: PreviewProvider {
    static var previews: some View {
        UIViewPreview {
            let label = UILabel()
            label.frame = CGRect(origin: .zero,
                                 size: CGSize(width: 100, height: 100))
            label.text = "Text previewed in SwiftUI Preview"
            return label
        }
    }
}
#endif

Sample

LICENSE

https://unlicense.org

Description

  • Swift Tools 5.1.0
View More Packages from this Author

Dependencies

  • None
Last updated: Mon Mar 11 2024 00:39:18 GMT-0900 (Hawaii-Aleutian Daylight Time)