繁体   English   中英

Xcode 6 Storyboard大小错误?

[英]Xcode 6 Storyboard the wrong size?

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

我已经构建了一个简单的界面(如下所示) - 包含View Controller的属性。 当我在模拟器中运行它时,我希望“Hello,World”成为用户界面的核心 - 但是看起来这个“Square”只是适合iPhone屏幕,因此显示了错误的视图(见下文) )。

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

谢谢!

从故事板编辑器中查看

属性检查员

大小检查员

模拟器输出

执行以下步骤以解决此问题

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

虽然Asif Bilal的答案是一个更简单的解决方案,它不涉及大小类(在iOS 8中引入),但强烈建议您习惯使用大小类,因为它们是未来,并且最终你会在某些方面跳入点。”


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

选择标签,点击底部的布局约束按钮:

在此输入图像描述

在该菜单上添加宽度和高度(它不应该与我的相同)通过选中它们的复选框并单击添加约束。 然后按住Control键并将标签拖到主视图中,然后在单击时,应该选择在容器中水平和垂直居中。 添加两者,您应该进行设置。

如果您使用Xcode 6并为iOS 8设计,则这些解决方案都不正确。 要使您的仅iPhone视图正确调整大小,请不要关闭大小类,不要关闭推断的指标,也不要设置约束(尚未)。 相反,使用size类控件,它是Interface Builder底部的一个容易遗漏的文本按钮,最初读取“wAny hAny”。

单击按钮,然后选择“紧凑宽度”,“常规高度”。 这会调整视图大小并覆盖所有iPhone纵向方向。 Apple的文档在这里: https//developer.apple.com/library/ios/recipes/xcode_help-IB_adaptive_sizes/chapters/SelectingASizeClass.html或搜索“在Interface Builder中选择大小类”

在Storyboard中,选择ViewController并转到Atribute Inspector。 在最顶部,在“模拟度量标准”下,您具有“大小”和“方向”属性,这些属性设置为“推断”。 将它们更改为所需的值。

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

我在xcode 6中遇到了这个问题,并且有一种方法可以解决调整大小冲突。 如果选择视图,则会在底部看到一个类似于|-Δ-|的图标。 如果单击它,您的项目将调整为不同的设备调整大小。

转到“属性检查器”(右上角)“模拟指标”,其中包含“大小”,“方向”,“状态栏”,“顶栏”,“底栏”属性。 对于SIZE,更改Inferred - > Freeform。

在Storyboard页面上,转到File Inspector并取消选中“Use Size Classes”。 这应该将您的视图控制器缩小到您熟悉的常规IPhone大小。 请注意,使用“大小类”可以让您跨多个设备设计项目。 取消选中后,Xcode将为您提供如下警告对话框。 这应该是自我解释的。

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

对于使用XCode 7的任何人来说,设计特定设备尺寸(而不是默认的方形画布)非常容易。

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

您可能会使用“解决自动布局问题”(右下角 - 故事板视图中的三角形图标)来添加/重置建议的约束(Xcode 6.0.1)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM