我有一个支持iOS8和更高版本的应用程序,内置在Xcode 7中,并且正在使用XIB进行启动屏幕(我没有启动图像)。该视图包含一个包含应用程序版本的UILabel,以及两个包含Image.xcassets中都存在的图像的UIImageViews:一个徽标和一个初始图像。
启动应用程序时,UILabel和徽标图像正确显示,但是如果我在具有iOS9的iPad Air 2上运行该应用程序,则启动图像不会显示。我已经在运行iOS8的Air和Mini以及运行于iPad 2,iPad Air和iPad Air 2的iOS9模拟器上进行了测试,并且所有这些图像均正确显示。
我跑了一些基本的故障,看看我能想出什么要去,但我一直没能解决这个问题,我可以说的工作的形象而这失败的一个之间看到的唯一区别是,当我把它添加到资产...
这是我所知道的摘要:
初始图像的UIImageView放置在正确的位置,且大小正确。我可以说这是因为我将其背景色设置为绿色只是为了确保。视图在那里,但是图像不出现。因此,我认为这一观点不应该受到指责。
将初始图像设置为也使用徽标图像的UIImageView,将使徽标图像显示在视图的正确位置。这也使我假设观点不应该受到指责。
我在初始图像视图中使用的UIImage在应用程序的其他位置使用,并且在其他视图中显示正常(徽标图像也在应用程序的其他位置使用,并且显示正常)。因此,我假设图像是有效的,并且使其出现在其他视图中不是问题。
我已经确认xcassets文件中徽标和启动画面的UIImages设置是相同的。它们设置为“通用”,“任何宽度和高度”,“多个比例因子”,默认显示。有一个区别-徽标具有1x,2x和3x比例,而初始图像只有1x和2x,但是我也尝试过在UIView中使用仅包含1x,1x和2x值的UIImage,并且它们可以正常工作(如果它们是已添加到项目中)。
将其他大小或格式(PNG和JPG)不同的图像添加到我的xcassets并在UIImageView中使用该UIImage作为启动图像也无法显示。
在XIB文件中添加另一个UIImageView并为其分配一个已经在xcassets中工作的UIImage,该图像将出现在加载屏幕中。
复制和重命名用于徽标的图像文件并将其添加到项目中,然后在初始视图中使用该UIImage也会显示失败。
我试图清理项目,重新启动开发计算机,并从Air 2中删除该应用程序,然后重新安装它,以防万一出现问题。
这最后三个步骤使我相信,在项目文件的生命周期中的某一点之后添加图像存在一些问题。当我昨天更新到Xcode 7时,初始图像最初是在Xcode 6中添加的,而徽标图像(也在Xcode 6中也添加了)是几个月前添加的。
我查看了徽标图像和初始图像的json文件,它们似乎具有相同的格式。我也浏览了pbxproj文件以查找差异,但看不到任何差异。
所以我想知道是否有人知道为什么启动屏幕可能不显示我专门在Air 2上添加的这些新图像?我一直在阅读的其他问题与未出现的图像有关,似乎都与“启动图像”或XIB文件中具有相关类的图像有关,在这里似乎都不相关。