Я изо всех сил пытаюсь выяснить, как сделать 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?