我正在运行Xcode 11 GM2,并且NavigationLink的问题未触发预期的地方。我正在使用的应用程序基于发现的here的Apple示例SwiftUI应用程序。苹果样品中也出现了我遇到的问题。
当我将NavigationLink添加到照片时:
NavigationLink(destination: PhotoDetail(photo: photo)) {
PhotoItem(photo: photo)
.frame(width: 300)
.padding(.trailing, 30)
}
单击图像和PhotoItem中的其他内容时,无法访问该链接。但是,如果您稍稍向上移动并触摸/单击图像上方“类别”名称下方,则不仅会触发指向目标的链接,还会为滚动视图内的所有五个项目触发该链接。
以下是主页和PhotoRow中的完整代码:
首页
struct HomeView: View {
// Create a categories dictionary
var categories: [String:[Photo]] {
.init(
grouping: photoData,
by: { $0.category.rawValue }
)
}
var body: some View {
NavigationView {
List(categories.keys.sorted(), id: \String.self) { key in
PhotoRow(categoryName: "\(key)".uppercased(),
photos: self.categories[key]!)
.frame(height: 320)
.padding(.top)
}
.navigationBarTitle(Text("Portfolio"))
}
}
}
PhotoRow
struct PhotoRow: View {
var categoryName: String
var photos: [Photo]
var body: some View {
VStack(alignment: .leading){
Text(self.categoryName)
.font(.title)
ScrollView(.horizontal, showsIndicators: false) {
HStack(alignment: .top) {
ForEach (self.photos) { photo in
// add navigation to detail view:
NavigationLink(destination: PhotoDetail(photo: photo)) {
PhotoItem(photo: photo)
.frame(width: 300)
.padding(.trailing, 30)
}
}
}
}
}
}
}
解决该问题的任何帮助将不胜感激。