我正在玩SwiftUI,并且一直停留在此View上。一切都正常,但是这个小bug非常令人沮丧。我试图将图像显示为垂直视图,但不会在视图上显示。我知道图像已加载,但视图未显示它。它用蓝色覆盖。
import SwiftUI
struct PlanetHome : View {
var planets : [Planet]
var body : some View {
NavigationView {
ScrollView {
ZStack {
Color.black .edgesIgnoringSafeArea (.all)
VStack (alignment: .center)
{
ForEach (self.planets.identified(by: \.imageName))
{
planet in NavigationLink (destination: PlanetDetail(planets: planet))
{
PlanetsView (planets: planet)
.frame (width: 500, height: 500)
.padding (.vertical, 5)
}
}
}
}
}
.navigationBarTitle (Text("Planets"))
}
}
}
我试图将NavigationView放在ZStack下,但是没有用。我不知道我在代码上做错了什么。调试器上没有错误消息。只是不显示图像。
答案 0 :(得分:3)
NavigationLink
将按钮样式应用于所保存的对象。 Button
做同样的事情。要删除蓝色,请添加buttonStyle
修饰符:
NavigationLink(destination: ...) {
...
}
.buttonStyle(PlainButtonStyle())
您也可以创建和应用自己的按钮样式。
答案 1 :(得分:0)
它用蓝色覆盖。
您可以使用.foregroundColor(.YourColor)将蓝色更改为所需的颜色,或者只需在资产处将默认渲染更改为渲染为原始图像。 xcassets->选择任何图像->显示属性检查器
要解决其他问题,您应该包括 PlanetsView ,因为当我放置 Image(systemName:“ photo”)时,它会正确显示您的视图