StoryUI

仅需一行代码即可创建故事

build status

安装

使用 Swift Package Manager

dependencies: [
    .package(url: "https://github.com/tiskender2/StoryUI.git", exact: "1.6.0")
]

示例

example

用法

import SwiftUI
import StoryUI

struct ContentView: View {
    @State var isPresented: Bool = false
    @State var stories: [StoryUIModel] = [
        .init(
            user: .init(
                name: "Tolga İskender",
                image: "https://image.tmdb.org/t/p/original/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg"
            ),
            stories: [
                .init(
                    mediaURL: "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerEscapes.mp4",
                    date: "30 min ago",
                    config: .init(
                        storyType: .message(
                            config: .init(showLikeButton: true),
                            emojis: [
                                ["😂","😮","😍"],
                                ["😢","👏","🔥"]
                            ],
                            placeholder: "Send Message"
                        ),
                        mediaType: .video
                    )
                ),
                .init(
                    mediaURL: "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4",
                    date: "30 min ago",
                    config: .init(mediaType: .video)
                )
            ]
        )
    ]
    var body: some View {
        NavigationView {
            Button {
                isPresented = true
            } label: {
                Text("Show")
            }
            .fullScreenCover(isPresented: $isPresented) {
                StoryView(
                    stories: stories,
                    isPresented: $isPresented
                )
            }
        }

    }
}

要求

贡献

欢迎提交 Pull Request。对于重大更改,请先打开 issue 讨论您想要更改的内容。

请确保根据需要更新测试。

许可协议

StoryUI 基于 MIT 许可协议发布。有关更多信息,请参阅 LICENSE 文件。