0

我有一个布局计数的 LazyVGrid:纵向时为 2,在横向时为 3,在滚动视图中。我使用三元来更改计数。问题是当我向下滚动而不是选择一个单元格时,当模型向上滑动并旋转时,视图会自行消失。我还注意到卷轴似乎位于完全不同的位置。我需要以不同的方式构建它吗?有趣的是它只发生在滚动视图中的某些地方。它不一致。有时它工作正常,然后当我继续向下滚动时,它会开始发生。如果我不更改纵向或横向的布局计数,它可以正常工作。似乎更改计数会导致此问题。

struct Feed_View: View {

@EnvironmentObject var viewModel : Post_View_Model 
@Environment(\.verticalSizeClass) var sizeClass 
@FocusState private var isFocused: Bool

var body: some View {
    
    Color("BGColor").ignoresSafeArea() 
    
    ZStack {
        
        VStack (alignment: .center, spacing: 0) {
            
            //MARK: - NAVIGATION BAR
            
            NavBar_View() // Top Navigation bar
                .frame(maxHeight: 40, alignment: .center)
            
            //MARK: - SCROLL VIEW
            ScrollView (.vertical, showsIndicators: false) {
                
                
                //MARK: - FEED FILL
                
                let layout =  Array(repeating: GridItem(.flexible(), spacing: 10), count: sizeClass == .compact ? 3 : 2)
                
                LazyVGrid(columns: layout, spacing: 10) {

                    ForEach (viewModel.posts, id: \.self) { posts in
                        
                        Feed_Cell(postModel: posts)
                        
                    } //LOOP
                    
                } //LAZYV
                .padding(.horizontal, 10).padding(.vertical, 10)
                
            } //SCROLL
  
            
        } //V
        
    } //Z

}

}

4

0 回答 0