如何为iPhone5开发一个应用程序,以便在旧款iPhone上工作(屏幕)



我有一个在iPhone 5上开发和测试的应用程序,但现在我想让它在4和4的旧iPhone上运行。这些功能以相同的方式工作,但由于屏幕分辨率的原因,有些按钮没有出现。

有没有什么方法可以让我在不同的屏幕分辨率上工作?

a)您可以始终使用锚点或弹性坐标来设计界面(.xib),因此,如果屏幕较大/较小,则坐标是相对于屏幕的某个边缘。

b) 您可以在UIScrollView中改写整个屏幕,并让用户滚动以访问所有按钮。

这些是最简单的。a) 会让你更头疼。我会选择b),因为它更节省时间。

对于b),我还建议您在较小的屏幕中尝试界面,并检查隐藏的内容是否部分可见,这样用户就会收到"下面有东西"的提示。

编辑

这是一个使用不同xib文件初始化viewController的示例。

- (id)init
{
     int model = ... //some model inspection method;
     switch(model) {
          case iphone3g:
              return [self initWithNibName:@"iphone3g.xib" bundle:nil];
          case iphone4:
          case iphone4s:
              return [self initWithNibName:@"iphone4x.xib" bundle:nil];
... //etc

我建议苹果的WWDC视频采用自动布局,这些视频将有助于使用相同的XIB。这实际上取决于你的界面和你想做什么,没有一个正确的答案。

您还可以创建两个XIB,一个用于480高度,另一个用于568高度,然后写一些代码询问设备的大小,并加载适当的XIB。如果自动布局似乎是您正在实现的一大难题,那么这可能会很有用。

最新更新