我不知道如何使用SwiftUI,我需要放入label = 0
,并且每次您的iPhone y > 3
都会在标签上添加1
。
motionManager.gyroUpdateInterval = 0.2
motionManager.startGyroUpdates(to: OperationQueue.current!) { (data, Error) in
if let myData = data
{
if myData.rotationRate.y > 3
{
tiltOut = tiltOut + 1
self.tiltOutput.text = "\(tiltOut)"
}
我想在屏幕上查看0
,并为每个1
添加y > 3
。
答案 0 :(得分:0)
为此您需要一个@State var labelText: String
。
更新该文本时,标签应自动更新。
struct MotionView: View {
@State private var labelText: String = ""
var body: some View {
Text(self.labelText)
.onAppear {
self.startGyro()
}
}
func startGyro() {
motionManager.gyroUpdateInterval = 0.2
motionManager.startGyroUpdates(to: OperationQueue.current!) { (data, Error) in
if let myData = data
{
if myData.rotationRate.y > 3
{
tiltOut = tiltOut + 1
self.tiltOutput.text = "\(tiltOut)"
}
}
}
}
这应该有效。但是我没有测试。