可能是重复问题:
iOS 6应用程序 - 如何处理iPhone 5屏幕尺寸?
是否可以为iPhone4和iPhone5使用相同的xib文件?
我一直在制作我的应用程序,这段时间一直是针对iPhone 5屏幕大小进行编码。我忘记了iPhone 4,我甚至有一个,太蠢了... 我该如何解决呢?现在我已经为iPhone 5编写了代码,如何让我的代码适用于两种屏幕大小呢?
以下是我遇到的问题的模拟图。在第二张图片中,滑块被截断显示在较小的设备上。
可能是重复问题:
iOS 6应用程序 - 如何处理iPhone 5屏幕尺寸?
是否可以为iPhone4和iPhone5使用相同的xib文件?
我一直在制作我的应用程序,这段时间一直是针对iPhone 5屏幕大小进行编码。我忘记了iPhone 4,我甚至有一个,太蠢了... 我该如何解决呢?现在我已经为iPhone 5编写了代码,如何让我的代码适用于两种屏幕大小呢?
以下是我遇到的问题的模拟图。在第二张图片中,滑块被截断显示在较小的设备上。
将它们调整到滑块的原点位于屏幕底部。尝试调整每个UI元素的设置,直到一切看起来正确。
你能做什么严格取决于你如何定义你的接口以及你的用户界面是什么样子。
如果你在Interface Builder/Storyboard中创建了你的用户界面,你可以尝试查看所有控件和视图度量设置。在这方面有两个主要的提示:
有可能通过仔细选择自动调整行为来获得一些改进。对于某些元素,您可能需要修复与屏幕边缘的距离,对于其他元素,您可能需要设置灵活的宽度和高度:这严重取决于您的用户界面。
控制相关UI元素的正确定位的一个好技巧是将它们分组到一个父视图中,然后通过保留这些元素的相对位置来移动或缩放它(分配灵活的宽度或高度)。
如果你在代码中定义了你的接口,你应该审查你定义所有位置和大小的方式,而不是将它们设置为绝对值,你可以将它们重新编码为屏幕大小的百分比。
我在我的应用程序中使用了这两种技术,既支持iPhone4/5,也支持iPhone/iPad。 无论如何,这是一些工作。这可能是很多工作,也可能只是一些工作,这取决于你的应用程序用户界面出了什么问题。
如果您正在寻找一种自动修复此问题的方法,请尝试将缩放变换应用于您的主视图(例如,在您的应用代理中):window.rootViewController.view.transform = CGAffineTransformMakeScale(1.0, 0.84);
我不确定这是否会起作用,但在最好的情况下,我认为更适合有一种感觉,即没有自动修复可能。