我一直在努力弄清楚这件事是如何运作的。它是如此随意,我不知道还有什么可以尝试。我在这个问题上查了很多文章,每个人都说改变了规模。改变比例并没有帮助,它与这里发生的事情毫无关系。我不确定这是否与Xcode的底部有关,您可以在其中更改尺寸(Any vs Any / Any vs Regular Height等等)我已经问过我在学校的移动开发老师好吧,他也无法弄明白。任何帮助将不胜感激!!
下图:
答案 0 :(得分:0)
您的问题不是缩放。您需要注意的是自动布局和约束。
您可以使用界面构建器右下角的图标来获取它们或控制从视图控制器(如按钮,标签等)拖动到包含视图(或任何其他视图控制器)通常,主视图窗口本身。当您发布时,您现在可以添加约束来"附加"相对于其他元素的元素。例如,您可以将左侧的内容添加到左侧,将右侧的内容附加到右侧。现在,无论实际设备屏幕的尺寸如何,这些元素都将显示在相对于设备屏幕的那些位置。
答案 1 :(得分:0)
问题在于,您的透视图中元素的位置适合您在“界面”构建器中看到的画布,但是一旦运行应用程序,真实画布就具有不同的尺寸。
要管理UI元素的位置,大小和其他属性,有一个名为 AutoLayout的系统。 它非常巧妙,因为它类似于自然语言。 例如“我希望这个元素位于屏幕中间”。 要么 “我希望这个元素距离左角20像素,距离元素上方元素57像素。”
通过组合这些规则,您基本上可以创建一组布局约束,这些约束在运行时应用于视图层次结构,并且视图布局正确。 Autolayout允许非常复杂的布局。
您需要考虑的另一个方面是,您可能希望自己的应用在从3.5英寸iPhone到iPad air的各种外形尺寸中都能很好地看待。 由于这些设备的大小差异很大,Apple引入了一种名为 Size Class 的抽象概念。
尺寸等级是具体尺寸之上的抽象。具体的iOS设备具有混凝土尺寸。但在自然语言中,你经常会说它很大,很小或很正常。这就是抽象大小类所使用的级别。
对于每个尺寸类,您可以拥有一组特定的自动布局约束。
因此,通过结合AutoLayout和SizeClasses ,Apple解决了如何拥有一个应用程序的问题,但仍然可以适应特定的外形因素,并可以调整其布局。
在Xcode6中,所有故事板/ xib文件都有自动布局&默认情况下启用大小类。 “界面”构建器为您提供了一个舒适的环境,您可以通过为每个大小类组合创建约束来设置布局。