iphone - @2x 视网膜图像未显示在视网膜设备 (iPod touch) 或模拟器 (iPhone 4) 上

标签 iphone ios retina-display

这是我第一次尝试为视网膜或非视网膜设备设计两个版本的图像,所以我怀疑我做错了什么,但我创建了两个版本的图像,一个是 302x193,另一个是 604x386。它们分别命名为“displayCell1.png”和“displayCell1@2x.png”。

我还为 @2x 图像添加了水印,以确保我可以知道显示的是不是那个图像。据我了解,我的 Retina 设备(或 iPhone 4 模拟器)应该自动检测 @2x 版本的存在并显示它。但是,以下代码导致仅显示标准分辨率版本。任何帮助将不胜感激:

- (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {

    static UIImage *bgImage = nil;
    if (bgImage == nil) {
        bgImage = [[UIImage imageNamed:@"displayCell1.png"] retain];
    }
    cell.backgroundView = [[[UIImageView alloc] initWithImage:bgImage] autorelease];
    cell.backgroundView.contentMode = UIViewContentModeTopLeft;
}

我也试过只用imageNamed:@"displayCell1",也无济于事。

我可以根据需要包含更多详细信息。谢谢!

编辑:

我现在已经为两张图片添加了水印,以确保我知道我在看什么。清理目标没有帮助,图像被包含在 .app 包中。

这是图片一:enter image description here

尺寸为 302x193

这是图二:enter image description here

尺寸为 604x386

下面是我使用上面的代码运行时得到的结果(请注意,单元格高度已调高,因此屏幕上只显示一个单元格):

enter image description here

我在这里很困惑。

最佳答案

在 Finder 中打开已编译的 .app 包(右键单击它并选择显示包内容)并确保图像的两个版本都存在。如果 Xcode 只是忘记复制文件,您可能需要清理构建文件夹并重新编译。

关于iphone - @2x 视网膜图像未显示在视网膜设备 (iPod touch) 或模拟器 (iPhone 4) 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8845865/

相关文章:

iphone - 如何选择UIScreen的显示方式覆盖整个电视屏幕?

iphone - 为 UISplitViewController 的 MasterView 添加 subview

ios - 我的 Apple MacBook 硬盘驱动器崩溃 - 配置文件丢失,有没有办法让我仍然可以更新我的应用程序?

ios - 创建 UIView 和 subview 需要几秒钟是正常的吗?

iphone - 带有自定义 View 的 UIButton - addTarget :action:forControlEvents: does not work

ios - Google Admob 集成错误

iphone - 如何随着时间的推移增加间隔?

ios - 如何允许图像调整 4 英寸 iphone 5 的大小

python - 如何在Python中检测Mac视网膜显示屏?

macos - 发货时如何在 Retina 显示屏上为应用程序启用 "use low resolution"?