以蓝色背景显示的 SwiftUI 视图
SwiftUI View displayed with blue background
我正在尝试重现 Apple 教程(Composing Complex Interfaces),但我遇到了一个非常奇怪的问题。我的 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)
}
}
}
NavigationLink
默认是蓝色强调色,调用.accentColor(Color.clear)
即可
或者你可以试试这个:
NavigationView {
NavigationLink(destination: Text("Detail view here")) {
Image("YourImage")
}
.buttonStyle(PlainButtonStyle())
}
renderingMode(.original)
是为我做的; .accentColor(Color.clear)
使图像不可见(我在这里最好的解释是因为它没有透明度)。
NavigationView {
NavigationLink(destination: Text("Detail view here")) {
Image("YourImage")
.renderingMode(.original)
}
}
正如上面提到的答案,How to disable the overlay color for images inside Button and NavigationLink也写得很好。
我正在尝试重现 Apple 教程(Composing Complex Interfaces),但我遇到了一个非常奇怪的问题。我的 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)
}
}
}
NavigationLink
默认是蓝色强调色,调用.accentColor(Color.clear)
即可
或者你可以试试这个:
NavigationView {
NavigationLink(destination: Text("Detail view here")) {
Image("YourImage")
}
.buttonStyle(PlainButtonStyle())
}
renderingMode(.original)
是为我做的; .accentColor(Color.clear)
使图像不可见(我在这里最好的解释是因为它没有透明度)。
NavigationView {
NavigationLink(destination: Text("Detail view here")) {
Image("YourImage")
.renderingMode(.original)
}
}
正如上面提到的答案,How to disable the overlay color for images inside Button and NavigationLink也写得很好。