首页 > 解决方案 > 如何仅使用文本字段使按钮可点击到另一个视图控制器

问题描述

我有这种情况,如果用户单击按钮,则会弹出另一个视图控制器,其中仅包含一个 textView,用户可以在其中写一些东西。

标签: swiftswiftuiswiftui-list

解决方案


您可以使用.sheet修饰符在 SwiftUI 中显示模态/弹出式视图。

struct ContentDetail: View {
    struct Item {
        let uuid = UUID()
        let value: String
    }
    @State private var items = [Item]()
    @State private var show_modal = false
    var lectureName:String

    var body: some View {
        ZStack {
            VStack {
                Spacer()
                HStack {
                    Spacer()
                    Button(action: {
                        self.show_modal.toggle()
                    }, label: {
                        Text("✏️")
                            .font(.system(.largeTitle))
                            .frame(width: 77, height: 70)
                            .foregroundColor(Color.white)
                            .padding(.bottom, 7)

                    })
                        .background(Color.blue)
                        .cornerRadius(38.5)
                        .padding()
                        .shadow(color: Color.black.opacity(0.3),
                                radius: 5,
                                x: 3,
                                y: 3)
                }
            }
        }
        .sheet(isPresented: self.$show_modal) {
            CustomModalView()
        }
    }
}

struct CustomModalView: View {
    @State private var text = ""

    var body: some View {
        TextField("test", text: $text)
            .padding(5)
            .textFieldStyle(RoundedBorderTextFieldStyle())
            .font(.system(size: 60, design: .default))
            .multilineTextAlignment(.center)
    }
}

您可以在此处阅读更多相关信息: https ://blog.appsbymw.com/posts/how-to-present-and-dismiss-a-modal-in-swiftui-155c/


推荐阅读