ios - Storyboard、Interface Builder 未加载 568h 图像

标签 ios ios6 autolayout

我将一个名为 heart.png 的全屏图像加载到 320x480 的 UIImageView 中。我创建了一个 640x960 版本并将其命名为 heart@2x.png。我还创建了一个 640x1136 版本并将其命名为 heart-568h@2x.png。

我在 Storyboard中使用 320x480 的 UIImageView 构建了一个 3.5" View 。我假设使用 4"屏幕设备会自动加载 heart-568h@2x.png 但事实似乎并非如此。我是否必须为 3.5"和 4"屏幕创建 2 个 Storyboard?

编辑

到目前为止,一切都在 IB 中完成,没有使用任何代码。这是我刚刚设置的示例项目: enter image description here

最佳答案

你是对的。设备不会以区分常规和视网膜 (@2x) 的方式自动加载 568 图像(启动图像除外)。您将必须以编程方式检查,或使用单独的 Storyboard/NIB。

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
        CGSize screenSize = [[UIScreen mainScreen] bounds].size;
        if(screenSize.height == 568) {
           // ...
        }
}

关于ios - Storyboard、Interface Builder 未加载 568h 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13173317/

相关文章:

ios - 报亭内存存储问题,如何获取应用程序缓存目录?

objective-c - iOS 6 中的 UITextView 字体问题

iphone - 此 iOS 代码会导致内存在足够长的时间内被填满吗?

ios - 当navigationBar.isTranslucent为true时,navigationbar的backgroundImage也变成半透明

ios - SIGABRT 每次触摸点击,不一致的 iPad iOS

iphone - 用户选择共享或取消后,iOS Google+ 应用程序不会返回应用程序

swift - 您如何以编程方式获取通过自动布局定位的项目的实际呈现值?

ios - 使用自动布局更改 uiview 的大小并使其始终居中

ios - clipsToBounds 似乎在 UIStackView 中没有效果

ios - 如何删除 iOS MapBox 上的信息按钮?