我正在尝试复制Apple教程(组成复杂接口),但我遇到了一个非常奇怪的问题。我的CategoryItem
视图显示为蓝框。
如果我删除包裹它的NavigationLink
,则一切正常,但不能正常工作。
struct CategoryRow: View {
var categoryName: String
var items: [Landmark]
var body: some View {
VStack(alignment: .leading) {
Text(self.categoryName)
.font(.headline)
.padding(.leading, 15)
.padding(.top, 5)
ScrollView(.horizontal, showsIndicators: false) {
HStack(alignment: .top, spacing: 0) {
ForEach(self.items) { landmark in
NavigationLink(
destination: LandmarkDetail(
landmark: landmark
)
) {
CategoryItem(landmark: landmark)
}
}
}
}.frame(height: 185)
}
}
}
答案 0 :(得分:3)
mediaInfo
是我的工作; renderingMode(.original)
使图像不可见(我在这里最好的解释是因为它没有透明度)。
.accentColor(Color.clear)
正如上面提到的答案,How to disable the overlay color for images inside Button and NavigationLink也是很好的写法。
答案 1 :(得分:2)
NavigationLink
默认为蓝色,只需调用.accentColor(Color.clear)
或者您可以尝试以下操作:
NavigationView {
NavigationLink(destination: Text("Detail view here")) {
Image("YourImage")
}
.buttonStyle(PlainButtonStyle())
}