五彩纸屑

这是一个 SwiftUI 视图,用于显示五彩纸屑。您可以通过 SPM(Swift 包管理器)使用此包。

这是 Beta 版本。某些实现可能会发生不兼容的更改。

confetti.mov

每次生成的五彩纸屑都具有随机的形状、大小和角度。

要求(测试于)

如何使用

将此 SPM 包添加到您的 Xcode 项目中。

  1. File > Add Package Dependencies... (文件 > 添加包依赖...)
  2. 在搜索框中输入 https://github.com/ottijp/confetti-swiftui
  3. 选择 confetti-swiftui
  4. Dependency Rule 选择为 Up to Next Major Version。(可选,推荐)

add-package

导入 Confetti 模块,并在您的视图堆栈中使用 ZStack 添加 ConfettiView

import SwiftUI
import Confetti

struct SampleView1: View {
  var body: some View {
    ZStack {
      Text("Confetti")
      ConfettiView()
    }
  }
}

配置

显示时机

您可以像下面这样控制显示时机。

import SwiftUI
import Confetti

struct SampleView2: View {
  @State private var isConffetiActive = false

  var body: some View {
    ZStack {
      VStack {
        Spacer()
        HStack {
          Toggle(isOn: $isConffetiActive) {
            Text("confetti")
          }
          .frame(width: 150)
        }
      }

      if isConffetiActive {
        ConfettiView()
      }
    }
  }
}

发射持续时间

您可以使用 emissionDuration 属性设置发射持续时间。默认持续时间为 2 秒。

// emit for 5 seconds
ConfettiView(emissionDuration: 5.0)

许可协议

MIT