我在相机上创建了一条简单的Rectangle()
线,现在我被卡在要使其上下移动的位置。线条应该从顶部的相机容器移动到底部,反之亦然,以便模拟扫描仪。
我想可以通过在Rectangle()
轴上移动y
来提供正值,直到扫描仪命中position
,然后向y
提供负值,直到再次到达定义位置具有恒定或无限的重复。
也许这很简单,但是我仍然是SwiftUI和iOS的新手,所以我不知道该怎么做。
这是代码:
VStack {
Spacer()
BackgroundView()
.padding(EdgeInsets(top: 0, leading: 0, bottom: 15, trailing: 0))
ZStack {
CBScanner(supportBarcode: [.ean8, .ean13, .upce])
.interval(delay: 2.0)
.found{
// barcode found other code
}
Rectangle()
.trim()
.background(ColorsStatic.redish)
.foregroundColor(ColorsStatic.redish)
.frame(width: 350, height: 1)
}.frame(width: 350, height: 180)
}
答案 0 :(得分:1)
import SwiftUI
struct ContentView: View {
@State private var animating = false
var body: some View {
VStack {
Spacer()
ZStack {
Rectangle()
.trim()
.background(Color.red)
.foregroundColor(Color.red)
.frame(width: 350, height: 1)
.offset(y: animating ? 90 : -90)
.animation(Animation.linear(duration: 1).repeatForever())
}.frame(width: 350, height: 180)
.onAppear {
self.animating.toggle()
}
.background(Color.green)
}
}
}