ios - 使用JPG为我的UIImage正确命名

标签 ios objective-c uiimage

我刚收到一封邮件,说明我的应用程序已通过审核,现在可以在App Store中使用。但是,背景图像没有显示。

在我使用.png之前,但由于与.jpg相比它们拥有更多的内存,因此我将图像转换为.jpg。 (它节省了大约40 MB。)

因此,就像.png一样,我将.jpg拖动到Images.xcassets并在模拟器上进行了尝试。即使我通过模拟器将其加载到Iphone上,此方法也有效。
可以肯定的是,我一直在寻找代码。

每个屏幕都在调用此方法:

//Background image
UIImageView *backgroundView = [MyManager grabImage:FALSE];
backgroundView.frame = self.view.bounds;
[self.view insertSubview:backgroundView atIndex:0];

方法grabImage如下所示:
+(UIImageView *)grabImage:(BOOL)main{
    UIImageView *Image;
    if(main){
        Image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Background1.png"]];
    }else{
        Image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Background2.png"]];
    }
}

所以我发现了明显的错误。它仍然具有.png。但是,在我发送该应用程序并再次等待一个星期以上之前,我想确定如何调用它。

我应该使用Background1还是Background1.jpg?

我已经阅读了另一个StackOverflow主题,关于.jpg,您应该
始终使用扩展名。我看不到逻辑
虽然Background1.jpg。由于我的录音机名为Background1,但是文件名为;背景1
2x.jpg,Background1 ipad 2x.jpg等。

@Edit 13:23-14-01-2016
我试图在xcassets中重命名我的图片。从Background1到BackgroundMain以及调用imageNamed:@"BackgroundMain"时。它不再显示,并提供了默认的背景色。使用imageNamed:@"BackgroundMain.jpg"时确实显示了。

我的结论是,先前的命名以某种方式保留在内存/缓存中。 .jpg扩展名是必须的! (如果有人遇到同样的问题,我将在此保留问题。(因为这样可以节省重新发送软件包的大量时间)

最佳答案

通常应在没有扩展名的情况下引用Images.xcassets中的图像名称,这适用于PNG,但显然会引起其他文件类型的问题。我的测试表明,扩展程序在模拟器上无关紧要,但是您发现在应用商店中并非如此。在这种情况下,请保留.jpg扩展名,因为这似乎对您来说是正确的。

我认为您所指的主题是将图像直接添加到项目中时的情况,在这种情况下,如果扩展名为.png,则可以忽略该扩展名,但对于其他文件类型,必须包括该扩展名。

关于ios - 使用JPG为我的UIImage正确命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34788891/

相关文章:

ios - CLActivityType 值之间的差异 - iOS SDK

macOS 更新后 ios 模拟器丢失设备

ios - Swift 3.0 中的复杂嵌套 JSON

ios - 我可以序列化持有授权 Twitter 帐户的 ACAccount 对象吗?

objective-c - 如何从包含路径的 NSString 创建 FSRef?

ios - UIImage 未保存在文档目录中并终止应用程序

ios - 使用 Swift 保存带有圆角和边框的 UIImage

ios - Firebase iOS Swift - 检索与聊天对话 ID 对应的子数据

objective-c - 获取 UIWebView 的完整内容,包括 !doctype 和 html 标签

ios - 将 UIImage 调整为 200x200pt/px