Xcode 6 Storyboard大小错误?

Can*_*oss 139 iphone interface-builder ios xcode6

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

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

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

谢谢!

从故事板编辑器中查看

属性检查员

大小检查员

模拟器输出

Asi*_*lal 253

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

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

  • 我不知道为什么人们把这个标记为正确的答案......第一个是它应该做的方式...如果你不喜欢布局限制而不是你反向... Apple正在利用适合所有尺寸的iPhone和iPad开发的好方法,你只想回到旧的东西?因为你自己不能更新?从来没有投票,但似乎这个答案让人困惑,然后使用旧的方法(将被弃用),而不是鼓励使用新的东西...... (36认同)
  • 如果您在需要标准iPhone大小的视图控制器时获得600x600视图控制器,这是正确的答案. (8认同)
  • 这应该是正确的答案(至少对于那些只在非通用平台上工作的人来说) (5认同)
  • 适用于iPhone/iPad故事板的每个人的最佳答案 (3认同)
  • 使用布局约束... Apple正在以与Android相同的方式执行此操作.该视图没有形式...有时它可能会很痛苦,但如果你强制大小,你的应用程序将在不同的设备大小上看起来很糟糕.如果你想要一个按钮出现在右下角,只需为它创建2个约束,并禁止...没有X或Y选择.所有都将由引擎设置.使用内在尺寸.动用你的想象力.使用关系约束.学习这个***. (3认同)

Can*_*ğlu 81

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


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

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

在此输入图像描述

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

  • 注意控制拖动(可能很难)是没有必要的.此图像中所选按钮左侧的按钮将打开一个菜单,允许您固定水平和垂直中心. (4认同)

Eli*_*rke 18

如果您使用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中选择大小类"

  • 我觉得这应该是正确的答案. (2认同)

小智 5

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

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


use*_*953 5

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