ios - 模拟器看起来与故事板屏幕上的布局不同

时间:2012-12-13 00:35:21

标签: ios ios5 storyboard

我的情况很奇怪。我创建了一个非常简单的屏幕,在故事板上有一些按钮,然后当我运行模拟器时(说模拟器或模拟器是否正确?),其中一个按钮的间距错误。

我正在添加截图。模拟器位于故事板屏幕的右侧。

知道为什么会这样吗?

enter image description here

我认为按钮有问题。它可能是。但当我拿出两个较低的按钮时,我得到的东西甚至更奇怪,如截图所示:

enter image description here

谢谢!

3 个答案:

答案 0 :(得分:4)

看起来你正在使用Autolayout,除了Investment之外的所有按钮都有一个Top约束,而Investment有一个Bottom约束,当屏幕变得更高时,导致投资距离底部的距离保持不变。

点击投资按钮,点击[编辑 - > Pin - >顶级菜单中的Superview顶级空间。

再次单击“投资”按钮。单击右侧面板右侧的第二个选项卡(可以设置框架的选项卡)。查找Topview to Superview约束,右键单击并删除。如果没有,那么XCode就完成了它的工作。尝试再次运行模拟器。

编辑:我只是想说,当你刚刚拖入xib的视图位于其容器的上半部分时,XCode习惯为你添加Top约束,而当它位于下半部分时,则为Bottom约束。我知道XCode正试图提供帮助,但它有时让我发疯。

答案 1 :(得分:3)

看起来您正在使用3.5英寸模拟器并为4英寸设备进行布局,因此视图将调整大小。

如果你正在使用自动调整大小的掩码,你的按钮上的一些自动调整大小的掩码是不正确的?您可能希望它们都粘在屏幕顶部。检查以确保每个按钮的自动调整大小与此图像匹配。 (您需要单击“标尺”图标才能看到这些设置。)

autoresize pic

答案 2 :(得分:1)

我假设您正在使用提供NSAutoLayout作为默认值的XCode4。当您将对象放置到故事板时,NSAutolayout会自动创建约束,这些约束会自动为不同的设备(iPhone4,iPhone5)或方向(纵向/横向)布置屏幕上的对象。请检查NSAutolayout类和约束。如果你想要你可以删除NSAutolayout,你的对象将显示在模拟器正常,但在这种情况下,你必须手动调整对象的不同方向和屏幕

希望有所帮助。