一个 SwiftUI 修改器,允许视图像 iOS 主屏幕上的应用程序一样有条件地摆动
SwiftUI Wiggle 动画修改器
此存储库包含一个自定义 SwiftUI 修饰符,用于向任何 SwiftUI 添加“摆动”动画View
。这个想法的灵感来自GitHub 上的markmals。此实现通过允许动画由布尔状态变量控制并提供自定义旋转和弹跳量来扩展原始想法。
模拟器.屏幕.录音.-.iPhone.14.Pro.-.2023-05-12.at.17.20.15.mp4
安装
只需将文件复制WiggleModifier.swift
到您的项目中即可。
用法
在您的 SwiftUI 中,您可以像这样View
使用修饰符:wiggling
struct ContentView: View {
@State private var isWiggling = false
var body: some View {
VStack {
Rectangle()
.frame(width: 100, height: 100)
.foregroundColor(.blue)
.wiggling(isWiggling: $isWiggling, rotationAmount: 3, bounceAmount: 2)
Button(action: {
withAnimation {
self.isWiggling.toggle()
}
}) {
Text(self.isWiggling ? "Disable Animation" : "Enable Animation")
}
.padding()
.foregroundColor(.white)
.background(Color.blue)
.cornerRadius(10)
}
}
}
修饰符wiggling
采用三个参数:
isWiggling
:Binding<Bool>
控制摆动动画是否处于活动状态的。bounceAmount
Double
:控制摆动动画反弹量的一个。rotationAmount
Double
:控制摆动动画旋转量的A。
贡献
欢迎请求请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。
请确保适当地更新测试。