Обновляемый ProgressView отображается поверх панели поиска SearchBar, но только в корне NavigationStack.IOS

Программируем под IOS
Anonymous
Обновляемый ProgressView отображается поверх панели поиска SearchBar, но только в корне NavigationStack.

Сообщение Anonymous »

У меня есть приложение SwiftUI с возможностью поиска и обновления. Если это корень NavigationStack, представления поиска и хода выполнения отображаются друг над другом. Когда я перехожу к тому же представлению из NavigationLink, они не находятся друг над другом. Я пробовал изменить порядок поиска/обновления и переместить их на разные уровни представления, но это ничего не изменило. Как сделать так, чтобы в корневом представлении не перекрывались панель поиска и представление прогресса?
Корневое представление слева, некорневое представление справа:
Изображение
[img]https: //i.sstatic.net/4ansEktL.png[/img]

Вот минимальный репродукция:
import SwiftUI

@main
struct RefreshableSearchableISsueApp: App {
var body: some Scene {
WindowGroup {
NavigationStack {
ContentView()
}
}
}
}
struct ContentView: View {
@State var items = ["1", "2", "3", "4", "5"]
@State var searchText = ""
var body: some View {
List {
ForEach(items, id: \.self) { item in
NavigationLink(destination: ContentView()) {
HStack {
Text(item)
Spacer()
}
}
}
}
.searchable(text: $searchText)
.refreshable { try? await Task.sleep(for: .seconds(1)) }
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... as-root-of

Вернуться в «IOS»