2013-12-15 55 views
1

有人可以引导我在正确的方向吗?我不是要求别人为我做,我只是寻求帮助。我对iOS开发相对较新。iOS 7 Autolayout

我的应用程序是一个通用的应用程序,它需要支持3.5" 屏幕,4" 画面和iPad。下面的UI是为4“屏幕设计的,但我需要根据屏幕大小调整UIButtons,UILabels和UITextFields的大小和重新排列。一切都嵌入在UIScrollView中。有人可以解释我需要什么样的约束吗?我已经提前尝试了很多不同的东西,但我不能让它正常工作。我已经尝试使用弹簧和支柱,但我不能让UITextFields与iPad上的一切对齐。

感谢。

Storyboard 4"

这是它应该如何与3.5" 屏幕显示 Storyboard 3.5"

这是它显示了在模拟器 Simulator 3.5"

+2

如果您需要在自动布局的一般信息,你应该看的WWDC视频/阅读关于这个问题的文件。对于这个问题要简洁地回答,需要更多细节;例如......“根据屏幕尺寸重新调整”,以何种方式?你试图完成什么行为。 “无法正常工作”,这是怎么回事?它在做什么/没有做到这一点不符合你的预期/期望?此外,即使有了这些信息,我们也需要看到适用于您发布的视图的具体限制条件。考虑发布检查器的图像,显​​示视图/约束节点。 – NJones

+0

@NJones我已阅读文档,但我仍然无法理解。我应该可以观看WWDC演示。我编辑了我的帖子,以显示3.5英寸屏幕应该是什么样子。奇怪的是,如果我在故事板中使用3.5英寸视图运行模拟器,它会显示故事板中显示的内容。如果我运行带有4“视图的模拟器,它会显示错误,如截图所示。我将用3.5英寸手机进行测试。 – Shan

+1

我认为所有这些价格都是个别标签。当然,更好,更具可扩展性的方法是将它们放置在具有静态单元的UITableView中。 –

回答

3

我是一个有经验的iOS和OSX开发者,我花了一段时间才能得到这种技术的工作。包括我在内的很多错误都是从一个大项目开始的。采取小步骤的婴儿步骤并使用该技术通常更有成效。

阅读然后重新读取自动布局指南。它拥有所有您需要的紧凑形式。我购买了Erica Sadun的自动版面书 - 你会发现它很有帮助(Matt Neuburgs ios7书也有很好的一章)。

因此,为了您的燃眉之急。对于我个人最终发现的复杂视图,使用代码进行工作更容易。如果你已经使用了垂直距离约束,那么你需要将每个引用作为出口,或者你需要遍历整个数组,并在viewDidLoad中找到它们。一旦你有他们,你可以改变他们的常数值来调整间距,以最好地适应当前的手机高度。

另一种方式来做到这一点与“间隔物”视图(多个约束,从而在代码更好)。在这种方法中,每个文本字段在它和下面的文本字段之间都有清晰的空白视图。每个这些间隔符都会触及两个文本字段,而每个顶部的顶部都被限制为与顶部高度相同的垂直高度。约束系统找到第一个的确切尺寸以使一切合适。

实际上,你可以做到这一点作为一个混合解决方案 - 去除的垂直约束少数在你的故事板视图,离开工作水平的,并且在代码中添加缺少的垂直的。但首先尝试一个简单的dem项目。

+0

我一直在阅读有关自动布局遍布互联网。这是一个难以理解的概念,但我认为应该从中学习。我想我应该尝试尽可能多的不同的教程,我可以自己做。我做了一对夫妇,但这还不够。谢谢。 – Shan

+0

我刚刚在我的公司内部使用了一个应用程序 - 它支持3.5和4“iPhone,包括横向和纵向,所有都有约束条件,一旦获得了流程并有一些工作视图,就很容易为后续的应用程序获取它。没有更多的setFrame页面,setFrame,setFrame!Sadun建议开发你自己的一套图书馆,有很多好的提示 - 值得$ $ $恕我直言。 –

+0

我一定会检查出来。从斯坦福大学的Coding Together课程开发iOS,但仍有很多需要学习的东西,我现在是一名全职计算机科学专业的学生,​​唯一阻碍我学习iOS开发的东西是时候了,每当我开始学习时, iOS的版本也随之而来,特别是在iOS 7的情况下,很难支持较旧版本的iOS,而无需为他们设计不同的设计。 – Shan