【发布时间】:2020-03-13 11:01:59
【问题描述】:
我正在努力做到这一点,以便当用户单击其中包含评论的按钮时,它会弹出一个涂鸦用户输入和听写。我查看了其他一些解决方案,但我无法让它们中的任何一个工作。我认为这可能是因为它们都是在 watchOS3 中实施的建议。我还查看了苹果文档并找到了这个https://developer.apple.com/documentation/watchkit/wkinterfacecontroller/1619527-presenttextinputcontroller,但我无法让它工作。下面是我的完整代码
import SwiftUI
import Foundation
struct ContentView: View {
@State var counterValues = [0,0,0, -1, -1, -1, -1, -1, -1, -1 ]
@State var counterNames = ["Pullups", "Pushups", "Situps", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]
@State var counters = 3;
var body: some View {
ScrollView {
VStack {
ForEach( counterValues.indices ) { index in
if (self.counterValues[index]>=0) {
Text("\(self.counterNames[index])")
Button(action: {
self.counterValues[index] += 1
}) {
Text("\(self.counterValues[index])")
.font(.title)
.multilineTextAlignment(.center)
}
}
}
Button(action: {
//Add user input here
}) {
Image(systemName: "plus")
.font(.largeTitle)
.foregroundColor(.green)
}
.cornerRadius(40)
.shadow(color: .gray, radius: /*@START_MENU_TOKEN@*/10/*@END_MENU_TOKEN@*/ )
.padding(20)
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
这是一个特定的按钮,当我点击它时,我希望它允许用户输入,然后将该输入存储在一个变量中
Button(action: {
//Add user input here
}) {
Image(systemName: "plus")
.font(.largeTitle)
.foregroundColor(.green)
}
.cornerRadius(40)
.shadow(color: .gray, radius: /*@START_MENU_TOKEN@*/10/*@END_MENU_TOKEN@*/ )
.padding(20)
【问题讨论】:
-
您尝试过使用 TextField 吗?
-
安德鲁是对的。您可以使用 TextField。
-
是的,文本字段确实有效,因此我使用了 E.Coms 发布的内容,它适用于何时切换它。谢谢!
标签: xcode button user-input swiftui watchos-6