我有一个布局计数的 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
}
}