SwiftUI стал первым ответчиком - PullRequest
0 голосов
/ 09 ноября 2019

Я изо всех сил пытаюсь выяснить, как сделать TextView в представлении SwiftUI стать первым респондентом. У меня есть AddTaskView, как это

struct AddTaskView: View {
  @State var text:String = ""
  @State var priority: String = Priority.priority1.rawValue
  @Binding var tasks:[Task]
  @Binding var isAdding:Bool
  var updateTasks:() -> Void
  var body: some View {
      VStack(alignment: .trailing) {
          PriorityPicker(selected: $priority, filter: false)

          // I want this TextView to become the first Responder
          TextView(placeholderText: "Enter Task", text: $text).frame(numLines: 3)

          Button("Add") {
              self.tasks.append(Task(id: UUID(), name: self.text, priorityString: self.priority))
              self.updateTasks()
              withAnimation(.default) {
                  self.isAdding = false
              }
          }.disabled(text.isEmpty)
          Spacer()
      }
      .frame(height: 170)
  }
}

И я бы хотел, чтобы TextView стал первым респондентом, когда появится представление. Я пытался что-то вроде этого на TextView

        .onAppear{
            UIApplication.shared.sendAction(#selector(UIResponder.becomeFirstResponder), to: Any?, from: Any?, for: UIEvent?)
        }

, но я не знаю, что ввести для двух Any? а для UIEvent?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...