您好,我是 SwiftUI 的新手,我正在使用标签 Image(“我的图像”),我的图像位于 Assets.xcassets 目录中,当我编辑时一切正常,但当我在 mac 中使用我的单元或模拟器进行测试时图像没有出现,我不明白为什么我的代码如此简单,如果可以告诉我谁显示完整的屏幕,因为如果我在屏幕中使用一些文本或文本字段,则不会出现在整个屏幕上,我不知道如何将屏幕向下移动。真的谢谢你帮助我。
\n我在 iPhone 7 上使用 iOS 13.4
\n
var body: some View {\n VStack {\n ZStack{\n Image("icon-logo")\n .resizable()\n .scaledToFit()\n .clipShape(Circle())\n .overlay(Circle().stroke(Color(red: 39 / 255, green: 113 / 255, blue: 233 / 255), lineWidth: 5))\n .shadow(radius: 20)\n \n }\n Text("Datos de Usuario")\n VStack{\n Text("Nombre")\n .offset(x: -140, y: 0)\n TextField("--Nombre--", text: /*@START_MENU_TOKEN@*//*@PLACEHOLDER=Value@*/.constant("")/*@END_MENU_TOKEN@*/)\n .offset(x: 20, y: 0)\n .padding(15)\n .background(Color(red: 242 / 255, green: 242 / 255, blue: 242 / 255))\n Text("Apellido")\n .offset(x: -140, y: 0)\n TextField("--Apellido--", text: /*@START_MENU_TOKEN@*//*@PLACEHOLDER=Value@*/.constant("")/*@END_MENU_TOKEN@*/)\n .offset(x: 20, y: 0)\n .padding(15)\n .background(Color(red: 242 / 255, green: 242 / 255, blue: 242 / 255))\n\n }\n}\n\nstruct TercerIUView_Previews: PreviewProvider {\n static var previews: some View {\n TercerIUView()\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n
目前尚不清楚在哪里使用该代码,但尝试显式添加渲染模式,
Image("icon-logo")
.renderingMode(.original) // << here !!
.resizable()
Run Code Online (Sandbox Code Playgroud)
小智 0
图像可能无法显示的原因是该名称与目录中的资产名称不匹配。
我建议您仔细检查图像的名称Assets.xcassets并确保它是icon-logo
它应该是这样的:
至于第二个问题,看起来键盘覆盖了文本字段,这里已解决:Move TextField up when the Keyboard has shown in SwiftUI