Ios ipad mini的图像命名约定
我有一个关于通用应用程序中的图像命名约定的问题,特别是对于iPadMini 我正在开发一款跨越iPhone4S、iPad3(即带有视网膜的ipad)和iPadMini的通用应用程序。我想在应用程序中加载一个图像作为背景。我正在使用Ios ipad mini的图像命名约定,ios,image,background,naming-conventions,Ios,Image,Background,Naming Conventions,我有一个关于通用应用程序中的图像命名约定的问题,特别是对于iPadMini 我正在开发一款跨越iPhone4S、iPad3(即带有视网膜的ipad)和iPadMini的通用应用程序。我想在应用程序中加载一个图像作为背景。我正在使用 [UIImage imageNamed:@"background"] 来获取图像。这适用于iphone和ipad,但不适用于ipad mini 为了调试,我使用 NSString *filePath = [[NSBundle mainBundle] pathFor
[UIImage imageNamed:@"background"]
来获取图像。这适用于iphone和ipad,但不适用于ipad mini
为了调试,我使用
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"background" ofType:@"png"];
NSLog(@"background image: %@",filePath);
以确保选择了正确的图像。在ipad上,我可以
background image: /var/mobile/Applications/[...RESOURCEPATH...]/background.png
在iphone上我得到了
background image: /var/mobile/Applications/[...RESOURCEPATH...]/background~iphone.png
但在ipad mini上,我可以
background image: (null)
真正奇怪的是,我把这张图片的命名版本包括在内:
background~iphone.png
background@2x~iphone
background-Portrait~ipad
background-Portrait@2x~ipad
但不是background.png本身
当我意识到这个错误时,我添加了background.png图像,现在我的背景也显示在mini上
这里发生了什么,正确的方法是什么?在图像名称中,您将看到的唯一“修改器”(如“-graphitoupsidedown
”)将是启动图像,如中所述
你真的应该只有两张背景图片。一个用于常规分辨率,一个用于视网膜分辨率(即“
@2x
”后缀)。这两幅图像应该能够很好地旋转。@Dautermann:好的,我可以按照惯例。。。但这并不能解释为什么iPad找到了这张图片,而mini没有。此外,iPad还发现了一个不存在的图像名称?该文件应命名为“background@2x.png
“以便在视网膜显示屏iPad Mini上拾取。后缀为“@2x~ipad.png
”和“@2x~iphone.png
”的文件名无效,或者至少在任何地方都没有正式的文档记录。我不会把我的图像文件命名为那个。迷你们是视网膜显示器吗?我以为iPad3是,但mini就像iPad2?你说得对,因此,在本例中,您的“background.png
”(正常分辨率)文件就是应该找到并加载的文件。@MichaelDautermann:iphone后缀记录在这里: