Swift Package Index


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


  • The latest stable release is 1.0.3. Released 11 months ago.
  • The last commit to master was 11 months ago.

Swift Version Compatibility

  • 1.0.3 and master
    5.3
    5.2
    5.1
    5.0
    4.2
Full build results

Platform Compatibility

  • 1.0.3 and master
    iOS
    macOS(Intel)
    macOS(ARM)
    Linux
    tvOS
    watchOS
Full build results

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