Xcode图像目录:Interface Builder中未显示图像

4

因此,艺术家向我发送了一个Resources.xcassets文件夹,我只需将其拖到项目中。然后跳转到 interface builder,在那里添加了一个新的UIImageView,并从xcassets中分配了一个图像名称,但令我惊奇的是,我无法看到这些图像。它显示为蓝色问号。

请注意,IB自动完成正在工作中,当我运行应用程序时,资源实际上会显示出来!但在interface builder中不会显示出来,这使得布置资产几乎不可能,特别是当大小适合不起作用时...

Bug报告:15733387

1个回答

12

我似乎犯了错...我创建了一个全新的XIB,并确保选择了设备系列“iPad”,现在图片正常显示。我之前没有想到这是问题,因为创建XIB后无法更改设备系列!我四处寻找该选项,但从未找到过...看到原始XIB文件,你可以手动进行此更改,我想(注意其中写着“.iPad”):

<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4514" systemVersion="12F45" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="4514" systemVersion="12F45" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none">
是的,我实际上解决了它,而且这个问题非常疯狂。艺术家将所有资产设置为“iPad”资产,因此 *.imageset 文件夹内的 Contents.json 文件将“ipad”分配给我拥有的图像。我在 sublime text 中打开了 json 文件,并将“ipad”更改为“universal”,然后BOOM。我在一旁打开了 Xcode,图像几乎立即出现在 IB 中了!!像,wth...

1
谢谢你,这让我疯了几个小时。我的情况略有不同,但问题相同:我正在为iPad设备开发应用程序,但当我添加一个新文件(用户界面,iOS,“视图”)时,该视图在源代码中没有与“targetRuntime =“ iOS.CocoaTouch.iPad””相关联,但出于某种原因只与“targetRuntime =“ iOS.CocoaTouch””相关联。我改为“targetRuntime =“ iOS.CocoaTouch.iPad””,然后在Interface Builder中显示了图像。奇怪的是,我从未更改过目标设备,它始终是iPad应用程序。 - LukeSideWalker
如果将“targetRuntime = iOS.CocoaTouch.iPad”更改为其他内容,那么在重新启动Xcode后它将返回到“targetRuntime = iOS.CocoaTouch”。 - LK Yeung

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接