This library allows you to view UI components in a catalog-style format.
In most cases, it works by simply adding a few lines of code, as it gathers SwiftUI preview codes at runtime.
![storybook previewing](https://private-user-images.githubusercontent.com/1888355/408542337-c6819a8a-3685-422b-a561-16ab513ccd54.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxOTg0NTIsIm5iZiI6MTczOTE5ODE1MiwicGF0aCI6Ii8xODg4MzU1LzQwODU0MjMzNy1jNjgxOWE4YS0zNjg1LTQyMmItYTU2MS0xNmFiNTEzY2NkNTQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTBUMTQzNTUyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Mzg5ZDU1NWViY2Q4YTA0NzZiOTg1NzI4NTU2NTdlYTdkY2VmNjk3OWRiZWQ4OTQzODkyY2UzOTZkYjhjNWZhMSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.SELvY9oRG9Fac2b3CPiF9G2lJNYgPGTKnb4_iks0JIo)
-
Install this package into your project.
-
Put the entrypoint view.
import StorybookKit
import SwiftUI
struct ContentView: View {
var body: some View {
Storybook()
}
}
In app executable module
#Preview("Circle") {
Circle()
.fill(.purple)
.frame(width: 100, height: 100)
}
In a dynamic framework module
#Preview("Circle") {
Circle()
.fill(.purple)
.frame(width: 100, height: 100)
}
In a static library module
#Preview("Circle") {
Circle()
.fill(.purple)
.frame(width: 100, height: 100)
}
Important
To display all preview codes in a statically linked binary, you may need to link the binary with the -all_load linker flag. This is because the linker does not load symbols into the target binary if it deems them unnecessary.
![list of modules](https://private-user-images.githubusercontent.com/1888355/408546254-f849a5a1-c0df-4551-a9a8-c5a0367fe459.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxOTg0NTIsIm5iZiI6MTczOTE5ODE1MiwicGF0aCI6Ii8xODg4MzU1LzQwODU0NjI1NC1mODQ5YTVhMS1jMGRmLTQ1NTEtYTlhOC1jNWEwMzY3ZmU0NTkucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTBUMTQzNTUyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MjA0YTI2NTk1N2UyODc3ZTY0ODFlYzNhNWNlMTU3MzgwZjgwYTk3N2JiNzQ4OTRiMjhmYWE4N2I4YjdhZjQwMSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.U2mWoNN7E1I4laP6le9ac1mLuLVkk50WvWNKbW5InZE)
Storybook-ios is released under the MIT license.