2015-02-11 120 views
1

我一直在试图弄清楚这件事情是如何工作的。它非常随意,我不知道还有什么可以尝试。我在这个问题上查找了多篇文章,每个人都只是说改变规模。改变规模并没有帮助,它与这里发生的事情无关。我不确定这是否与Xcode的底部有关,您可以在其中更改尺寸(任何对任何/任何对比常规高度等)。我已经向我的移动开发教师询问了在学校的情况,他也不能也不知道。任何帮助将不胜感激!!下面iOS模拟器无法在Xcode 6中正确显示

图片:

http://tinypic.com/r/281fw5w/8

回答

0

您的问题不结垢。你需要看的是自动布局和约束。

您可以使用界面构建器右下角的图标来获取它们或控制从视图控制器(如按钮,标签等)拖动到包含视图(或任何其他视图控制器这个问题。)通常,主视图窗口本身。当你释放时,你现在可以添加约束来将元素“附着”到相对其他元素。例如,您可以将左侧的东西和右侧的东西附在右侧。现在,无论实际设备屏幕的尺寸如何,这些元素都会出现在相对于设备屏幕的位置。

+0

我一开始并不知道你在说什么,但它让我寻找了自动布局和约束条件,在阅读了几篇文章并看了一些教程后,我终于明白了。非常感谢!!我也发现这个视频非常有帮助。 https://www.youtube.com/watch?v=IwSTXY0awng再次,我真的很感谢帮助:) – Bryner 2015-02-11 04:53:09

+0

我的荣幸。 :) – 2015-02-11 09:46:03

0

问题是,从您的角度来看,元素的位置对于您在“界面”构建器中看到的画布是正确的,但是一旦应用程序运行,真实的画布就会有不同的尺寸。

要管理UI元素的位置,大小和其他属性,有一个称为AutoLayout的系统。 它很自然,因为它与自然语言相似。例如“我希望此元素位于屏幕中间。” 或 “我希望此元素距离左上角20个像素,距离元素上方元素57个像素。”

通过组合这些规则,您基本上可以创建一组布局约束,这些布局约束在运行时应用于视图层次结构,而视图布局正确。 Autolayout允许非常复杂的布局。

另一方面,您需要考虑到您可能希望您的应用在从3.5英寸iPhone到iPad空气的所有形状因素中看起来很好。由于这些设备的尺寸差别很大,Apple推出了一种名为的抽象,尺寸类别为

大小类是一个混凝土大小的抽象。具体iOS设备具有混凝土尺寸。但在自然语言中,你经常会说它很大,或者很小,或者说是正常的。这是抽象大小类别使用的级别。

对于每个尺寸等级,您可以拥有一组特定的自动布局约束。

因此,通过结合AutoLayout和SizeClasses的,Apple解决了问题:如何拥有一个应用程序,但仍然可以适应特定外形因素,并且可以调整其布局。

在Xcode6中,所有故事板/ xib文件都具有自动布局& sizeclasses默认情况下处于启用状态。界面构建器为您提供了一个舒适的环境,您可以通过为每个尺寸等级组合创建约束来设置布局。

+0

非常感谢你的解释。我明白它现在是如何工作的,并且发现这是多么令人难以置信的强大。谢谢! – Bryner 2015-02-11 04:54:50