SwiftUI:-图片不会显示在视图上

时间:2019-07-10 03:05:58

标签: swiftui

我正在玩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下,但是没有用。我不知道我在代码上做错了什么。调试器上没有错误消息。只是不显示图像。

2 个答案:

答案 0 :(得分:3)

NavigationLink将按钮样式应用于所保存的对象。 Button做同样的事情。要删除蓝色,请添加buttonStyle修饰符:

NavigationLink(destination: ...) {
    ...
}
.buttonStyle(PlainButtonStyle())

您也可以创建和应用自己的按钮样式。

答案 1 :(得分:0)

  

它用蓝色覆盖。

您可以使用.foregroundColor(.YourColor)将蓝色更改为所需的颜色,或者只需在资产处将默认渲染更改为渲染为原始图像。 xcassets->选择任何图像->显示属性检查器

要解决其他问题,您应该包括 PlanetsView ,因为当我放置 Image(systemName:“ photo”)时,它会正确显示您的视图