我是iOS开发的新手,我在Xcode 4.5.2的故事板中探讨。我开始了一个新的标签栏项目(5个标签)然后放入一些图像(UIImageViews对象)给它们,一切看起来都很好,并且在模拟器上构建得很好,但并不是所有图像都显示出来。相同的图像将显示在Firstviewcontroller上,但它不会显示在另一个viewcontroller上。我似乎无法将新的图像对象添加到第一个(意味着我可以将它放在故事板中,但新的图像对象不会出现在模拟器上),它几乎似乎显示缓存的屏幕。例如,我只是将图像随机放置在一个视图控制器上,然后将它们移动并再次运行模拟器,但位置不匹配。
有没有人在故事板上有这方面的任何信息或经验?
提前致谢。 射线
答案 0 :(得分:6)
在我的情况下,当我在Xcode 6
中创建新项目时,我无法在模拟器和设备中显示图像。我已导入图像资源中的所有图像,在其中创建一个文件夹。现在我已导入所有图像,现在一切正常。现在所有图像都在显示。
请按照以下步骤操作:
第1步:
第2步:
第3步:
然后导入您需要的图像。参考链接: StackOverflow link
答案 1 :(得分:4)
我有类似的问题。但后来发现这是因为我把图像放在app目录中的真实文件夹中。所以有我的项目文件夹,其中包含另一个名为'Assets'的文件夹,其中包含图像。当我将图像移出文件夹并将它们放在项目的根文件夹中时,这就解决了。
答案 2 :(得分:3)
在我的情况下,图片是JPG,而不是PNG。 在xcasset中替换转换为PNG的相同图像的图像是一个绝招。
答案 3 :(得分:1)
重启模拟器解决了我的问题。我认为这是一个缓存问题。
注意:我正在使用带有xcode 8的iOS 10
答案 4 :(得分:1)
重构故事板后遇到了这个问题。 可能的解决方案: -转到情节提要,然后选择您在模拟器中看不到的图像。 -转到“属性”检查器,然后再次重新选择图像。
故事板重构后,有时Xcode将Unknown image
分配给UIImageView。
重新选择图像可以解决问题。
答案 5 :(得分:0)
@PressRay,我一直在玩弄东西并提出一些建议。我已经把它转到了答案,因为如果我们继续下去,他们会让我们聊聊。但希望这会做到这一点。首先,我认为你应该从界面构建器中创建标签栏,也许你输错了一些代码。您可以从创建新项目的第一个屏幕启动一个,也可以从库中拖入一个。但它是一个Tab Bar控制器。然后,对于五个视图中的每个视图,您可以在屏幕上放置一个视图控制器。然后,您可以从标签栏控制器拖动到五个新视图控制器中的每一个,并选择关系选项卡栏控制器。这将为您设置每个vc。
接下来我建议您在跳转到自动布局和约束之前先关闭自动布局以了解故事板。这就是为什么我认为你的png没有出现。由于移动它们的一些禁令,这两条线看起来太靠近了。要执行此操作,请选择视图控制器,确保它只是视图控制器,然后在右侧视图中,转到文件检查器,它看起来像一个页面图标。在Interface Builder Document下,应该是Use Autolayout的复选框。单击此按钮,这样就没有复选标记。现在你将在你关闭它的每个vc上使用struts和spring。所以继续关掉所有这些。
接下来你要放入一些png文件。将你的图像视图拖到你想要的任何一个vc的任何地方。然后通过选择图像视图来连接png文件,然后再次在右侧视图中选择属性检查器,并在Image的下拉菜单下找到所需的png。然后,您可以将图像视图移动到所需的vc中的任何位置。我想这会解决你的问题。让我知道会发生什么或者您有任何问题。
答案 6 :(得分:0)
对于xcode beta(swift 4)将jpg转换为png文件,并创建了一个名为images.xcassets的文件夹,将png文件添加到该文件夹中。它尝试将jpeg添加到文件夹,看看图像是否显示。我只是尝试了jpeg并没有出现。所以我的结论是使用png文件并创建一个文件夹来保存png文件。在Main.storyboard之后添加文件夹。希望这会有所帮助。
答案 7 :(得分:0)
答案 8 :(得分:0)
我刚刚更改了图像/文件名。有时,如果存在连续的模式,xcode会被卡住。因此,如果您有image_1,则image_2 ....更改为3_image。这解决了我的问题。
答案 9 :(得分:-1)