Я наблюдаю очень странное поведение в SwiftUI 2.0 и iOS14.
Когда на экране появляется клавиатура, автоматически вызывается метод OnAppear представления другой вкладки.
Однако это отлично работает Xcode 11.7
Вот код, который вызывает указанную выше ошибку.
struct ContentView: View {
var body: some View {
TabView {
DemoView(screenName: "Home")
.tabItem {
Image.init(systemName: "star.fill")
Text("Home")
}
DemoView(screenName: "Result")
.tabItem {
Image.init(systemName: "star.fill")
Text("Result")
}
DemoView(screenName: "More")
.tabItem {
Image.init(systemName: "star.fill")
Text("More")
}
}
}
}
struct DemoView:View {
@State var text:String = ""
var screenName:String
var body: some View {
VStack{
Text(screenName)
.font(.title)
TextField("Buggy Keyboard Issue", text: $text)
.textFieldStyle(RoundedBorderTextFieldStyle())
Text("Issue : When keyboard appears, onAppear of other 2 tabs call automatically.")
.font(.footnote)
}
.padding()
.onAppear(perform: {
debugPrint("OnAppear of : \(screenName)")
})
}
}
Кажется, это ошибка SwiftUI 2.0, но я не уверен. Любая помощь будет оценена по достоинству.
Спасибо
onAppear
, где мы должны делать сетевые вызовы, когда вид виден. - person Armin   schedule 16.10.2020