怎么做?多分辨率IOS应用程序

怎么做?多分辨率IOS应用程序,ios,iphone,objective-c,resolution,Ios,Iphone,Objective C,Resolution,一年前,我为iPhone4RetinaDisplay开发了一款应用程序。 我想从头开始重新构建它,并希望它可以用于iPhone4和iPhone5 它的最佳实践是什么 我可以想出三种方法来做这件事 创建一个按钮(以编程方式)并用button.frame=CGRectMake 创建一个按钮(以编程方式)并将其放置在以下位置: float scaleFactor = [[UIScreen mainScreen] scale]; CGRect screen = [[UIScreen mainScreen

一年前,我为iPhone4RetinaDisplay开发了一款应用程序。 我想从头开始重新构建它,并希望它可以用于iPhone4和iPhone5

它的最佳实践是什么

我可以想出三种方法来做这件事

  • 创建一个按钮(以编程方式)并用
    button.frame=CGRectMake
  • 创建一个按钮(以编程方式)并将其放置在以下位置:

    float scaleFactor = [[UIScreen mainScreen] scale];
    CGRect screen = [[UIScreen mainScreen] bounds];
    CGFloat widthInPixel = screen.size.width * scaleFactor;
    CGFloat heightInPixel = screen.size.height * scaleFactor;
    
    并开始从屏幕边界计算百分比

  • 将按钮放置在故事板中

  • 定位按钮以便在两个屏幕上都能正确查看的最佳做法是什么?

    您可以在interface builder中自动调整功能的大小,或通过代码使用它


    如果你的应用程序支持IOS 5及以上版本,你可以使用苹果的自动布局系统。

    看看NSLayoutConstraints…苹果的自动布局系统。它已经存在很长一段时间了,你应该查一下。而且iOS点(
    CGRect
    )不是设备像素,所以50x50点在视网膜上的大小将与非视网膜上的大小相同。所以你不需要乘以比例。