Xcode 6故事板大小错误?

在Xcode 6(Beta 1)中,在Swift中从头开始构build一个新项目,并观看了Storyboard和我正在查看的输出的一些奇怪行为。

我已经构build了一个简单的界面(如下所示) – 包含View Controller的属性。 当我在模拟器中运行这个function时,我希望'Hello,World'是用户界面的核心,但是这个'Square'似乎只是适合iPhone屏幕,因此显示的是错误的视图(见下文)。

我的问题是:有没有其他人看到这种行为,他们是如何解决这个问题的?

谢谢!

从故事板编辑器中查看

属性检查器

尺寸检查员

模拟器输出

虽然Asif Bilal的答案是一个更简单的解决scheme,不涉及Size Class(iOS 8中引入的),但强烈build议您习惯将尺寸类放大,因为它们是未来的尺寸,最终会跳到一些点。”


您可能还没有添加布局约束。

select您的标签,点击底部的布局约束button:

在这里输入图像说明

在该菜单上添加宽度和高度(它不应该是我的相同)通过检查其checkbox,然后单击添加约束。 然后按住Control键将你的标签拖到你的主视图上,然后当你点击时,你应该有select在容器中水平和垂直居中。 添加两个,你应该build立。

执行以下步骤来解决问题

在Storyboard中,select任何视图,然后转到文件检查器。 取消选中“使用大小类别”,您将要求保留大小类别数据:iPhone / iPad。 然后单击“禁用大小类”button。 这样做将使故事板的视图大小与选定的设备。

如果您使用Xcode 6并为iOS 8devise,则这些解决scheme都不是正确的。 为了让您的仅iPhone视图的大小正确,请不要closures大小类别,不要closures推断的度量标准,也不要设置约束(尚)。 相反,使用大小类控件,这是一个很容易错过在Interface Builder底部的文本button,最初读取“wAny hAny”。

单击该button,然后select“紧凑宽度”,“常规高度”。 这调整您的意见,并涵盖所有的iPhone纵向方向。 苹果的文档在这里: https : //developer.apple.com/library/ios/recipes/xcode_help-IB_adaptive_sizes/chapters/SelectingASizeClass.html或search“在界面生成器中select一个大小类”

在Storyboard中,select您的ViewController并转到Atribute Inspector。 在最上方的“模拟度量标准”下,您将“尺寸”和“方向”属性设置为“推测”。 将它们更改为所需的值。

为了使应用程序在另一个屏幕尺寸上正确显示,您还必须设置限制,如CanPoyrazoğlu在第一篇文章中所述。

我有这个问题在xcode 6,有一种方法来解决resize的冲突。 如果您select您的视图,在底部您将看到一个像|-Δ-|的图标。 如果你点击它,你的项目将调整不同的设备。

转到属性检查器(右上angular)在模拟度量标准中,它具有大小,方向,状态栏,顶栏,底栏特性。 对于SIZE,更改推断 – >自由格式。

在故事板页面上,转到“文件检查器”,取消选中“使用大小类别”。 这应该缩小您的视图控制器到您熟悉的常规iPhone大小。 请注意,使用“大小类别”可让您在多个设备上devise项目。 一旦你取消选中,Xcode会给你一个警告对话如下。 这应该是自我解释的。

“禁用大小类别将限制这个文件存储单个设备系列的数据,最大代表目标设备的大小类别的数据将被保留,其他所有数据将被删除,此外,segues将被转换为非适应性等价物“。

对于任何使用XCode 7的人来说,devise一个特定的设备尺寸(而不是缺省的方形canvas)是非常容易的。

在Interface Builder中,从左侧菜单中selectViewController或Scene。 然后在Show the Attributes Inspector ,转到Simulated Metrics ,然后从下拉菜单中select所需的Size

您应该使用“解决自动布局问题”(右下angular – 故事板视图中的三angular形图标)添加/重置为build议的约束(Xcode 6.0.1)。