my app:

The scaling behavior is only Присутствует, когда я представляю лист через текст поиска @focusedState (запустите его на симуляторе или на устройстве, поскольку предварительные просмотра Xcode не могут показывать клавиатуру):
Код: Выделить всё
import SwiftUI
import MapKit
struct ContentView: View {
@State private var showSheet = true
var body: some View {
Map()
.sheet(isPresented: $showSheet) {
MinimalSearchSheet()
}
}
}
struct MinimalSearchSheet: View {
@State private var searchQuery = ""
@State private var selectedDetent: PresentationDetent = .fraction(0.1)
@FocusState private var isSearchFocused: Bool
var body: some View {
VStack {
HStack {
Image(systemName: "magnifyingglass")
TextField("Search", text: $searchQuery)
.padding(12)
.background(Color.gray.opacity(0.1))
.cornerRadius(8)
.focused($isSearchFocused)
}
.padding()
Spacer()
}
.presentationDetents([.fraction(0.1), .fraction(0.333), .fraction(0.999)], selection: $selectedDetent)
.interactiveDismissDisabled()
.onChange(of: isSearchFocused) {_, focused in
if focused {
selectedDetent = .fraction(0.999)
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... ted-by-foc
Мобильная версия