首页 > 解决方案 > 如何在swift ui watch os中的同一屏幕中添加键盘和文本字段

问题描述

我正在使用 swift ui 为手表操作系统设计一个应用程序。我想实现一个有点像这样的用户界面

在此处输入图像描述

同一屏幕上的文本字段和数字键盘。但是当我们实现内置文本字段时,它会将我们导航到一个单独的屏幕,我们可以在其中选择数字键盘、手势书写等选项,然后根据选择出现一个单独的屏幕来添加用户输入(想象选择的选项为数字键盘),然后输入的值绑定到我最初创建的文本字段。所以我想要实现的是限制用户只能使用数字键盘,并且数字键盘和文本字段都应该与我在上面附加的示例 UI 中的屏幕相同。这是否可以使用内置的文本字段组件来处理,还是我应该重写逻辑来实现 UI 和用户交互?提前致谢。

标签: iosswiftswiftuiwatchos

解决方案


struct ContentView: View {
@State var text = ""
var body: some View {
    VStack {
        Text(text)
        LazyVGrid(columns: [GridItem(.fixed(50)), GridItem(.fixed(50)), GridItem(.fixed(50))], alignment: .center, spacing: nil, pinnedViews: [], content: {
            ForEach(1..<10) { item in
                Button(action: {
                    text.append("\(item)")
                    print(text)
                }, label: {
                    ZStack {
                        Rectangle()
                            .foregroundColor(.gray)
                        Text("\(item)")
                            .font(.headline)
                    }
                })
                
                
                    
                    
            }
        })
    }
    
}

}

正在使用的应用程序


推荐阅读