Кажется, что View не может справиться с переменным количеством просмотров. Обход этого странного поведения заключается в следующем:
import SwiftUI
struct ContentView: View {
private var items = (0 ... 50).map {String($0)}
@State private var condition = false
var searchButton: some View {
Button(action: {self.condition.toggle()}) {
Image(systemName: "magnifyingglass").imageScale(.large)
}
}
var body: some View {
NavigationView {
VStack {
if condition {
Text("Peekaboo")
} else {
Text("")
}
// or use this Text(condition ? "Peekaboo" : "")
List {
ForEach(items, id: \.self) {item in
HStack {
Text(item)
}
}
}
}
.navigationBarTitle("List of Items")
.navigationBarItems(leading: searchButton)
}
}
}
Сообщите мне, работает ли оно, а если нет, сообщите нам, какое устройство / систему вы используете. Протестировано с Xcode 11.6 beta, Ma c 10.15.5, target ios 13,5 и ma c катализатором.