xcode 9导入的png图片显示不出来

升级了Xcode 9 之后,在一次图片导入的过程中,将图片添加到项目中,图片怎么都显示不出来,但是将图片名字改成项目中已存在的图片名称,新的图片就会出现。

反反复复检查之后,觉得是图片路径不对,或者说已经在项目中,但是代码关联不到图片名称。

解决方法:

这个是Xcode 9改版的原因,拖拽到项目中的文件不会自动添加到 Compile Sources 和 Copy Bundle Resources 下,需要你手动去添加。

比如你导入.png 的图片到项目中,还需要手动去 Build Phases 下的Copy Bundle Resources 里面再添加一次。


添加完成后,图片就可以正常显示了

Xcode中,如果你想要将PNG格式的图片转换为SCN(Scene Kit)可用的资源,通常需要创建一个纹理。以下是步骤: 1. **导入PNG图像**: - 打开你的项目,点击"Assets.xcassets",然后右键选择"New Image Set",为你的PNG图片命名。 - 将PNG文件拖放到新创建的Image Set里。 2. **创建材质**: - 在Project Navigator中,找到你的SceneKit项目结构,可能会有一个名为"Materials"的文件夹,如果没有,你需要手动创建一个。 - 右击空白处,选择"New File" -> "Shader" -> "Material",给材质命名,例如"TextureMaterial"。 - 在新的Material.swift或Material.js文件中(取决于你的项目配置),添加一个`SCNTexture`实例,加载你的PNG图片。 ```swift let texture = SCNTexture(named: "你的图片名.png") ``` 或 ```javascript let texture = SCNMaterial.diffuse.contentsNamed("你的图片名.png"); ``` 3. **将材质应用到几何体上**: - 创建一个几何体(比如`SCNBox`, `SCNSphere` 或者从文件导入一个`SCNGeometry`),然后设置它的材质。 - 对于网格几何体,可以这样设置: ```swift let geometry = SCNBox(width: ... height: ..., length: ..., chamferRadius: ...) geometry.materials = [texture] ``` 4. **添加到场景中**: - 把你的几何体添加到`SCNScene`中,并最后把`SCNScene`设置为`SCNView`的`scene`属性。 注意,这只是一个基础的示例,实际操作可能需要根据你的具体需求调整。如果你想让图片作为贴图应用于表面或纹理映射,还需要了解纹理坐标设置等知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值