【问题标题】:iPhone 4 doesn't load retina imagesiPhone 4 不加载视网膜图像
【发布时间】:2012-09-13 14:09:10
【问题描述】:

我有一个适用于 iPhone 的应用程序,它使用了一些与视网膜和非视网膜设备兼容的图像。当我在任何 iPhone 模拟器上午餐应用程序时,它都能完美运行,加载视网膜和非视网膜图像。

当我选择要在我的物理设备 (iPhone 4) 上运行的应用程序时出现问题。在这种情况下,视网膜图像不再加载,一切看起来都很模糊。

我使用了“不要编码符号”,因为我还没有开发者帐户。我只是想感受一下我的应用,会不会是因为这个?

这是一个在我的物理设备上具有相同行为的示例项目http://db.tt/XL4DPLH8

已解决: 视网膜图像被命名为 2X 而不是 2x...也在 projectexample.app / 感谢答案亚当(他的答案消失了)

【问题讨论】:

  • 你的图片命名正确吗???例如:普通屏幕的 myimage.png 和视网膜屏幕的 myimage@2x.png。
  • 没有 photo_02.png 的图像 .... photo_02@2x.png 在哪里?
  • 视网膜图像被命名为 2X 而不是 2x...也在项目和 example.app 中/感谢 Adam 的回答(他的回答消失了)
  • Retina 图像是否已放入设备?创建一个存档 (ipa) 并检查它(它只是一个 zip 文件)。

标签: iphone objective-c xcode uiimage retina-display


【解决方案1】:

通过 NSLog 在启动时检查分辨率,然后设置适当的图像...

 - (void)viewDidLoad
 {
 [super viewDidLoad];

 //   NSLog(@"bound :%f", [[UIScreen mainScreen] bounds].size.height);
 NSString* imageName;
 if([[UIScreen mainScreen]bounds].size.height == 568)
 {
    imageName= @"568h@2x.png";
 }
 else{
     imageName= @"bg@2x.png";  
 }
 self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage  imageNamed:imageName]];

希望帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2013-03-01
    • 1970-01-01
    相关资源
    最近更新 更多