xcode swiftui 按钮如何以编程方式按下它(为其分配一个 ID?)
xcode swiftui button how to press it programmatically (assign an ID to it ?)
我有一个可用的条码扫描器应用程序(我遵循了本教程 https://www.youtube.com/watch?v=44APgBnapag),唯一缺少的是在加载时启动条码扫描器而不是用户按下按钮
var body: some View {
NavigationView {
.navigationBarItems (
trailing:
Button(action: { self.isPresented.toggle() } ) {
Image(systemName: "barcode")
.font(Font.system(size: 96))
}.sheet(isPresented: $isPresented) {
BarCodeScanner(isbn: $isbn, foundBooks: $foundBooks)
} .padding(.top,42)
)
}
}
我尝试添加一个.onAppear
.onAppear {
print("begin")
BarCodeScanner(isbn: $isbn, foundBooks: $foundBooks)
}
但是 Xcode 说 Result of 'BarCodeScanner' initializer is unused
。
然后我想尝试以编程方式按下按钮,但如何为该按钮提供标识符以使代码按下该特定按钮?
或者是否有其他方法可以在我打开应用程序时启动条码扫描器?
您需要在启动应用程序时将 isPresented
设置为 True
:
...
.onAppear {
isPresented = true
}
这应该有效。它会在应用程序启动后立即打开您的条形码扫描器。
我有一个可用的条码扫描器应用程序(我遵循了本教程 https://www.youtube.com/watch?v=44APgBnapag),唯一缺少的是在加载时启动条码扫描器而不是用户按下按钮
var body: some View {
NavigationView {
.navigationBarItems (
trailing:
Button(action: { self.isPresented.toggle() } ) {
Image(systemName: "barcode")
.font(Font.system(size: 96))
}.sheet(isPresented: $isPresented) {
BarCodeScanner(isbn: $isbn, foundBooks: $foundBooks)
} .padding(.top,42)
)
}
}
我尝试添加一个.onAppear
.onAppear {
print("begin")
BarCodeScanner(isbn: $isbn, foundBooks: $foundBooks)
}
但是 Xcode 说 Result of 'BarCodeScanner' initializer is unused
。
然后我想尝试以编程方式按下按钮,但如何为该按钮提供标识符以使代码按下该特定按钮?
或者是否有其他方法可以在我打开应用程序时启动条码扫描器?
您需要在启动应用程序时将 isPresented
设置为 True
:
...
.onAppear {
isPresented = true
}
这应该有效。它会在应用程序启动后立即打开您的条形码扫描器。