2014-09-19 55 views
6

我开始了一个新的iOS应用程序。并且该应用程序要求是应用程序应该支持从iPhone 4到iPhone 6 Plus。我非常熟悉使用Xib文件。到目前为止,我将我的应用程序与iPhone 5和iPhone 5以下的应用程序区分开来。为此,根据设备高度,我使用了2个Xib文件,其中一个用于iPhone 5,另一个用于iPhone 5。但是现在苹果已经将iPhone 6和iPhone 6 Plus与iOS 8以及XCode 6相关联。对于这四种类型的设备,如何将所有iPhone设备的一个xib支持到iPhone 6 Plus?

1)iPhone 4 2)iPhone 5 3)iPhone 6和4)iPhone 6 Plus需要添加4个Xib或任何其他解决方案

要学习故事板,现在我没有那么多时间,因为我的应用程序已经从客户端确认发布日期。但是,我将在明确的将来了解sotryboard。

我尝试过使用Autolayout概念,但它不适用于我。我也没有对Autolayout概念有完全的警觉。昨天我用XCode 6开始了我的新项目,所以我采用了iPhone 6的视图并尝试使用自动调整和自动布局,但对我来说并不合适,视图重叠。我知道创建不同xib的不同设备并不是很好的做法。用xib创建每个设备需要花费很多时间。我真的很担心如何从昨天开始处理不同的设备。请有人帮我解决这个问题。非常感谢你。如果我的内容有任何错误,请原谅我。

+0

没有自动布局,您可以创建与所有设备兼容的xib – 2014-09-19 05:42:53

+1

@Ashish Kakkad感谢您的快速回复,但没有自动布局使用,一个xib如何支持所有iPhone设备视图?任何想法? – 2014-09-19 05:55:56

回答

15

您的问题值得StackOverflow可以提供更长的答案,但有几个指针我可以给你。

  1. 对于每个xib,启用Size Classes和Autolayout。
  2. 将每个xib根视图的尺寸类设置为宽度任何和高度任何,我相信是默认值。
  3. 在理论上任何x任何设备上以一种看起来不错的方式设计您的界面。
  4. I highly建议在任何视图控制器的视图层次结构的顶层使用UIScrollView
  5. 使用约束来锚定控件。我觉得最容易的方法是从左上角的控件开始,将其固定到包含视图的顶部和左侧,然后沿着您的方式向下和向左移动,直到您的所有控件都被约束在所有4个面上或一个垂直面上和一个水平尺寸,以及明确的高度和宽度。在约束条件下对大于和小于关系表示慷慨。
  6. 要为每个设备布局进行自定义,请将尺寸等级切换为所需的组合。 请注意,您添加,更改或删除的任何约束,以及您添加或删除的任何控件,将仅针对当前班级大小进行更改。为您将要支持的每个不同尺寸的课程做到这一点。请参阅Apple's reference每种设备使用哪种大小类别。
  7. 使用可调整大小的设备模拟器测试您的布局。

这是一项艰苦的工作,但它确实需要为每个设备尺寸维护一个不同的xib。

+0

感谢您的快速响应,我对您对解决方案的长篇描述有点困惑,您能否告诉我我的应用程序需要做什么?如果你不介意? – 2014-09-19 05:58:21

+1

我几乎只是做了,减去截图,视频或示例代码。 – NRitH 2014-09-30 15:57:51

+0

@Anilkumar你找到解决方案吗? – 2014-11-18 10:29:14

相关问题