我正在尝试在 SwiftUI 应用程序中实现锁屏。
我需要跟踪每个事件才能重新启动锁定计时器。
在 UIKit 应用程序中,我使用了这种方法 - 重写 UIApplication,它允许了解应用程序中的任何事件:
override func sendEvent(_ event: UIEvent) {
super.sendEvent(event)
switch event.type {
case .touches:
// Post Notification or Delegate here
default:
break
}
}
Run Code Online (Sandbox Code Playgroud)
但在 SwiftUI 中不再支持它。我尝试添加
.onTapGesture {}
Run Code Online (Sandbox Code Playgroud)
到根 ContentView,但它没有按预期工作。
有什么办法可以避免添加
.onTapGesture {}
Run Code Online (Sandbox Code Playgroud)
应用程序中的每个视图?
我正在尝试实现一个带有数字输入的 TextField 以及 Stepper 来控制数量。在文本字段中输入数字后,步进器将失去更改数字的能力。我很确定绑定值有一个技巧,但无法弄清楚到底是什么。
struct TestView: View {
@State var quantity: Int = 0
var body: some View {
HStack {
TextField("", value: $quantity, formatter: NumberFormatter())
Stepper("", onIncrement: {
self.quantity += 1
}, onDecrement: {
self.quantity -= 1
})
}
}
}
Run Code Online (Sandbox Code Playgroud)