我對通用應用程序中的圖像命名約定有疑問,特別是對於ipad mini。ipad mini的圖像命名約定
我正在開發跨iphone 4s,ipad 3(即ipad with retina)和ipad mini的通用應用程序。我有一張圖像,我想要在應用程序中加載爲背景。我正在使用
[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上的迷你我得到
background image: (null)
的真正奇怪的是,我已經包含的命名版本圖片:
background~iphone.png
[email protected]~iphone
background-Portrait~ipad
[email protected]~ipad
但本身不是background.png。
當我意識到這個錯誤時,我添加了background.png圖片,現在我的背景也顯示在mini上。
這裏發生了什麼,做這件事的正確方法是什麼?
@Dautermann:好的,我可以遵循這個慣例......但這並不能解釋爲什麼iPad找到了圖像,但迷你沒有。另外,iPad找到了一個不存在的圖像名稱? – Brandon 2013-05-10 23:19:28
該文件應命名爲「'background @ 2x.png'」,以便在Retina顯示屏iPad Mini上顯示該文件。帶有後綴「'@ 2x〜ipad.png」和「@ 2x〜iphone.png」的文件名無效,或者至少它們沒有在任何地方正式記錄。我不會將我的圖像文件命名爲。 – 2013-05-10 23:23:05
迷你視網膜顯示器嗎?我以爲是iPad 3,但迷你就像iPad 2一樣? – Brandon 2013-05-10 23:24:44