我正在使用ScrollViewandVStack在串列中顯示一堆視圖。但是由于某種原因,onDisappear沒有被呼叫,onAppear盡管如此。
onDisappear僅當該視圖從螢屏上消失時才呼叫?或者當它被取消初始化時
struct AView: View {
var body: some View {
ScrollView(.vertical, showsIndicators: false) {
VStack {
ForEach(0...99, id: \.self) { _ in
SomeView()
.onDisappear {
print("Disappeared")
}
}
}
}
}
}
uj5u.com熱心網友回復:
當你使用VStack時,它會在里面繪制所有的視圖——它們都被添加到視圖樹中,不管它是否在螢屏上可見。
如果你用它替換它LazyVStack會使內容變得懶惰——只有可見的視圖會被添加到視圖樹中,并且onDisappear會像你期望的那樣被呼叫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/452651.html
上一篇:在Kotlin中傳遞值作為參考
