所以我有一个 tabview 和一个带有 NavigationView 的搜索。如果您点击一个用户,您将转到个人资料页面,并且该个人资料页面有一个带有网格的滚动视图,您可以在其中单击并转到发布详细信息。如果我从 profileView 中删除 NavigationView,它会发布详细信息,然后返回到个人资料。如果我添加 NavigationView,它会保留在帖子详细信息上,但有两个导航栏。
搜索视图:
// MARK: - LIST OF USERS
// LIST DIDN'T WORK, HAD TO USE SCROLLVIEW
ScrollView {
LazyVStack(alignment: .leading) {
ForEach(userListVM.users.filter { searchText.isEmpty ? true : $0.fullname.localizedCaseInsensitiveContains(searchText)}, id: \.id) { user in
NavigationLink(
destination: UserProfileView(userVM: UserViewModel(user: user)),
label: {
SearchUserCellView(user: user)
}
)
}
} // END:LAZYVSTACK
} // END:SCROLLVIEW
个人资料视图:
ScrollView {
UserProfileGridView(userVM: userVM)
} // END:SCROLLVIEW
网格视图:
// MARK: - BODY
var body: some View {
LazyVGrid(columns: items, spacing: 2, content: {
ForEach(postListVM.posts.filter {$0.ownerUid == userVM.user.uid}, id: \.id) { post in
NavigationLink(
destination: CommentView(postVM: PostViewModel(post: post)),
label: {
if post.postImgUrl.isEmpty {
Image("dogs")
.resizable()
.scaledToFill()
.frame(width: width, height: width)
.clipped()
} else {
KFImage(URL(string: post.postImgUrl))
.resizable()
.scaledToFill()
.frame(width: width, height: width)
.clipped()
}
})
} // END:FOREACH
}) // END:LAZYVGRID
}