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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MjY2NzQsIm5iZiI6MTczOTYyNjM3NCwicGF0aCI6Ii8xODg4MzU1LzQwODU0MjMzNy1jNjgxOWE4YS0zNjg1LTQyMmItYTU2MS0xNmFiNTEzY2NkNTQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTVUMTMzMjU0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZjYzZTQ1OGU5MWY5NGJhNzBlMzA3ODFiZTc4NWZlMDZhNzdmYmI0OTIwZGFkYjhiZjc3NTY4YjA3YTljMWZjNCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.2rzfy6Am6qk-blqxYrwAb0b9HxgbaUI7z5554Ck8ujE)
-
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MjY2NzQsIm5iZiI6MTczOTYyNjM3NCwicGF0aCI6Ii8xODg4MzU1LzQwODU0NjI1NC1mODQ5YTVhMS1jMGRmLTQ1NTEtYTlhOC1jNWEwMzY3ZmU0NTkucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTVUMTMzMjU0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Zjk3NTA0ZWQ3N2MwNWMyNjdjOGM1MzhiYTQwMjVkYmM4ZDJhM2U0MjdhNzNhY2Q4YWQzODNmNWQxMWQ5NDA2NCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.JT2rd4QcGRCy6UgHHeeNhGsnftXFb0hycgOzFPHG2Y0)
Storybook-ios is released under the MIT license.