出于某种原因,当我在 xcode 中使用 iPhone 5 屏幕时,一切都处于 340x640 模式而不是 640x1136。
例如,我有一个针对 iPhone 5 的设计,假设我将背景设置为 640x1136,它在 Interface builder 和模拟器中比屏幕大得多。 如果我将背景设置为 340x640,一切都很好。
问题出在按钮和导航栏上。 当我设置导航栏背景图像时,它占据了屏幕的 1/4。 因为设计是为 1136x640 设计的。
但是有人知道如何解决它吗?或者处理它?</p>
这是主视图的图像(生成的界面生成器)
编辑: 现在我注意到它甚至不是 640h 奇怪的:|
最佳答案
视网膜设备的引用点系统永远不会改变。
所以无论屏幕分辨率如何,iPhone 3 和 iPhone 4 的点网格都是 320 x 480。
与 iPad 1 和 iPad 3 一样,点网格为 1024 x 768。
因此对于 iPhone 5,点网格为 320 x 568。
您针对屏幕尺寸进行编程,但提供 2 倍分辨率的图像,然后在视网膜屏幕上正确呈现,因为它们具有额外信息。
当您创建图形时,您会提供两张图像,其中一张的分辨率为 2 倍。因此,对于 50 点 x 50 点的图形 foo
,您提供 50 像素 x 50 像素的 foo.png
和 50 像素 x 50 像素的 foo@2x.png
视网膜显示器为 100 像素 x 100 像素。
例如,当您请求 imageNamed:@"foo"
时,系统会自动查找 foo@2x
以获取视网膜屏幕,如果可以找到,则使用图像。否则 foo.png
被使用并且你在视网膜设备中得到毛茸茸的图像。
关于xcode 4.5 中的 iPhone 5 显示的是 320x640 而不是 640x1136 为什么会出现异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14185953/