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)。