故事板的视图与模拟器的视图不同

时间:2014-10-20 01:13:52

标签: ios objective-c iphone

在我的故事板上,所有内容都以一种漂亮的格式居中调整,但看起来它在模拟器上正对着。选中“使用自动布局”和“使用大小类”选项。我该如何解决这个问题?下面的屏幕截图显示了问题。

这就是我的故事板上的样子:

enter image description here

这是在我的模拟器上:

enter image description here

关闭“使用自动布局和使用大小类”选项后,这是我的故事板:

enter image description here

2 个答案:

答案 0 :(得分:1)

在Xcode 6中,默认大小类是“Any x Any”,它适合“所有布局”。这包括iPhone和iPad,默认视图控制器的大小介于两者之间。您可以在条形图的Interface Builder视图底部找到此设置,在条形图的中间使用约束控件:Xcode size classes

正如您所看到的,与您正在测试的iPhone相比,放置内容的视图非常广泛。从您的故事板看起来,您的视图看起来没有任何限制,这意味着它们将按原样显示。这意味着当你在模拟器上进行测试时,一切都会向右移动 - 实际上发生的事情是,没什么!您有一个比iPhone更宽的视图,其中包含所有居中的内容,并且当您进行测试时,该视图将以实际大小(比iPhone更宽)绘制,因为没有任何限制可以告诉它不这样做。 / p>

您有两个相当简单的解决方案:

  1. 继续使用尺寸等级。您需要为视图添加约束,以便它们适应不同的屏幕大小。在您的情况下最简单的做法是将所有内容放在容器视图中,并添加约束以使其居中对齐到superview。如果您只是要定位iPhone,则可以将故事板中的默认大小类更改为“紧凑宽度|常规高度”,该目标以纵向方向定位所有iPhone。
  2. 禁用大小类。您已经尝试过这个 - 定位问题与我上面描述的相同。您的内容在任何地方都不是真正的中心对齐,它只是放在大视图的中心。您需要禁用大小类,然后重新定位iPhone屏幕的所有内容。
  3. 无论如何,您需要添加约束以支持所有iPhone屏幕尺寸。因此,继续使用大小类更容易 - 它们是Xcode 6的一个很酷的新功能!

答案 1 :(得分:1)

你需要添加约束,点击4橘子(我不知道怎么称呼它:D)对齐顶部,底部,左边,右边(例如:点击左右意味着你的UIView刻度水平带填充你可以在附近输入的价值)

enter image description here

This tutorial对您有用。希望这个问题:D