Я хотел бы использовать SwiftUI TextField
и SwiftUI List
, чтобы отобразить «окно поиска» над списком элементов. Что-то похожее на окно поиска, доступное в пункте меню справки Safari ... которое предоставляет окно поиска, в которое вы всегда можете ввести текст, одновременно просматривая список результатов с помощью клавиш со стрелками вверх и вниз.

Я играл с onMoveCommand
, focusable
и поправками к «родителю» NSWindow
, но не нашел четкого и очевидного способа для TextField
постоянно принимать ввод, в то же время имея возможность перемещаться по базовому List
с помощью клавиш со стрелками вверх и вниз. Следующий код позволяет вводить либо текст в TextField
, либо просматривать записи списка, но не одновременно в обоих ...
struct ContentView: View {
@State var text: String = ""
@State var selection: Int? = 1
var body: some View {
VStack {
TextField("Enter text", text: $text)
List(selection: $selection) {
ForEach((1...100), id: \.self) {
Text("\($0)")
}
}
}
}
}