【问题标题】:How to convert from iPAD/iPAD2 layout to iPhone4/iPhone5/iPAD-mini layout如何从 iPAD/iPAD2 布局转换为 iPhone4/iPhone5/iPAD-mini 布局
【发布时间】:2013-06-15 07:37:17
【问题描述】:

我从未在我的应用程序中使用过Interface Builder,我认为这不是什么好事。

我的应用程序已经为 iPad/iPad2 布局设计,但从未考虑过让它在 iPhone4/iPhone5/iPAD-mini 上运行。 现在我希望我的应用能够在所有这些上运行。

我认为通用应用程序有 4+ 布局会非常难看,像这样:

if(ipad or ipad2) 
 view.frame = CGRectMake(0,0,100,100);
else if(ipad-mini)
  view.frame = CGRectMake(0,0,100,100);
else if(iphone4)
  view.frame = CGRectMake(0,0,100,100);
else if(iphone5)
  view.frame = CGRectMake(0,0,100,100);
else if(iphone6)
  view.frame = CGRectMake(0,0,100,100);
else if(iphone7)
  view.frame = CGRectMake(0,0,100,100);

理想情况下应该只有2个布局,但我不知道如何实现这种方式。这些固定坐标不会在不同的屏幕尺寸上拉伸

if(ipad or ipad2 or ipad-mini) 
  view.frame = CGRectMake(0,0,100,100);
else if(iphone4 or iphone5 or iphone6 or iphone7)
  view.frame = CGRectMake(0,0,100,100);

如何以最佳方式开发通用应用程序?

【问题讨论】:

  • iPad mini 的布局与其他 iPad 相同。您只需要处理两种不同的 iPhone/iPod touch 屏幕尺寸(以及视网膜/非视网膜)。

标签: iphone ios ipad layout ios-universal-app


【解决方案1】:

当你开始构建这个应用程序时,你应该这样做:

 view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth;

您可以根据需要更改上述选项。

是的,你需要不同的 ipad、iphone

【讨论】:

    【解决方案2】:

    首先,您的 iPhone 布局几乎肯定会与 iPad 大不相同。对于 iPad,所有不同类型的宽高比都相同,因此您只需担心 iPad 的 @2x 图像与视网膜。

    但是,对于 iPhone,您有 iPhone 4/4s VS iPhone 5。此外,您的屏幕空间要小得多,因此您需要想办法在更小的空间内呈现相同的信息。这可以通过使用滚动视图、表格视图以及将一部分信息放在一个视图控制器中来完成,您可以从另一个视图控制器切换到该视图控制器。

    最后,我强烈推荐大多数情况下的界​​面生成器。它为您处理 iPhone 与 iPhone 5 的对比,以及纵向与横向的对比。它甚至会在旋转手机时自动为过渡设置动画。但是,有时,当您需要进行自定义绘图或我们的布局确实很难通过界面生成器获得时,最好以编程方式进行。在这种情况下,检查哪个设备的好方法是检查[[UIScreen mainScreen] applicationFrame] 的大小。使用 iPad 的 1024x768、iPhone 的 320x480 或 iPhone 5 的 320x568 的值进行检查。

    但是,您确实应该使用界面生成器(大多数情况下)。为什么要避免它?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-26
      • 2017-10-01
      • 2016-12-30
      • 1970-01-01
      相关资源
      最近更新 更多