小编Eth*_*all的帖子

我在 SwiftUI 中创建了一个自定义选项卡栏,但是当我选择一个选项卡时,它会完全重新加载视图。我该如何防止这种情况

  1. 我创建了一个自定义标签栏
  2. 我正在使用 switch 语句在我的视图之间切换
  3. 问题是每次我在选项卡之间切换时都会重新加载视图
  4. 当我在视图之间切换时如何“保存”视图的状态?

因此,例如,如果我在第一个选项卡的视图中,并且在滚动视图上向下滚动一点,然后转到第二个选项卡,然后返回第一个选项卡,它会完全重新加载视图,但不会显示我已向下滚动页面。

代码:

struct Home: View {

   @State var selectedIndex = 0
   @State var presented = false

   let icons = ["house", "hands.sparkles", "plus", "message", "person"]



   var body: some View {
    
    VStack{
        
        Spacer().fullScreenCover(isPresented: $presented, content: {
            Text("Create Post Here")
            Button(action: {
                presented.toggle()
            }, label: {
                Text("Close")
            })
        })
        
        switch selectedIndex{
            
        case 0:
            HomePage()
        case 1:
            NavigationView(){
                Discover()
            }
        case 2:
            LogoutForNow()
        case 3:
            LogoutForNow()
        case 4:
            NavigationView(){
                Profile2()
            }
            
        default:
            HomePage()
        }
        
        
        
        
        HStack{
            ForEach(0..<5, id: \.self){number …
Run Code Online (Sandbox Code Playgroud)

xcode ios swift swiftui swiftui-tabview

4
推荐指数
1
解决办法
1105
查看次数

标签 统计

ios ×1

swift ×1

swiftui ×1

swiftui-tabview ×1

xcode ×1