dus*_*ndz 6 swiftui ios14 swiftui-tabview
struct ContentView: View {
@State private var selectedIdx = 0
var body: some View {
TabView(selection: $selectedIdx) {
ForEach(0..<5) { idx in
Text("\(idx)")
}
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))
}
}
Run Code Online (Sandbox Code Playgroud)
环境:Xcode 12.2 iOS 14.2
当我在页面之间滑动时,SwiftUI 内存中的 TabView 不断增加。运行仪器,我没有看到任何泄漏,但分配和持久内存不断增加。
理想情况下,即使每次都重新创建页面,5 个页面消耗的总内存(如上面的代码)也不应该改变。
这是 SwiftUI 中的错误吗?或者我错过了什么?
小智 0
这段代码为我修复了一个错误
struct TabViewWrapper<Content: View, Selection: Hashable>: View {
@Binding var selection: Selection
@ViewBuilder let content: () -> Content
var body: some View {
TabView(selection: $selection, content: content)
}
}
Run Code Online (Sandbox Code Playgroud)
替换TabView(selection:)
为TabViewWrapper(selection:)
TabViewWrapper(selection: $selection) {
tabContent
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
648 次 |
最近记录: |