如何使文本字段等元素连续放大然后缩小?
我有这个:
struct ContentView : View {
@State var size:Double = 0.5
var body: some View {
ZStack {
Text("Hello!")
.padding()
.scaleEffect(size)
}
}
}
我知道我需要增加大小,然后在某种循环中减少它,但在 SwiftUI 中无法完成以下操作:
while true {
self.size += 0.8
sleep(0.2)
self.size -= 0.8
}
一个可能的解决方案是使用(重复、自动反转)动画片:
struct ContentView : View {
@State var size: CGFloat = 0.5
var repeatingAnimation: Animation {
Animation
.easeInOut(duration: 2) //.easeIn, .easyOut, .linear, etc...
.repeatForever()
}
var body: some View {
Text("Hello!")
.padding()
.scaleEffect(size)
.onAppear() {
withAnimation(self.repeatingAnimation) { self.size = 1.3 }
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)