如何将视图与窗口的左上角对齐?

时间:2012-04-12 14:33:58

标签: xcode cocoa xcode4 xcode4.3 autolayout

当我在窗口的左上方放置一个按钮时,它会像我期望的那样对齐:

http://stuf.ro/Button.png

它也不会随窗口一起调整,这很好。但是,如果我尝试使用自定义视图执行相同的操作,它会自动向底部和右侧添加约束,这会使视图随窗口一起调整:

http://stuf.ro/View.png

我如何摆脱这些?我希望视图永远不会调整大小,我希望它固定在窗口的左上角,就像一个按钮。

如果我尝试选择约束并按退格键,则不会发生任何事情。编辑菜单中的“删除”选项也被禁用。

2 个答案:

答案 0 :(得分:9)

您的视图会调整大小,因为它有限制说明它上方,下方,左侧和右侧的空间应该是固定的。这些是您在屏幕截图中可以看到的视图线。在窗口调整大小时满足这些约束的唯一方法是使视图调整大小。

您可以选择约束线来修改或删除它们。您可能认为可以删除下面和右侧的那些,并且您的视图将不再需要调整大小以满足剩余的约束,但这不起作用。视图需要一组(一组)约束来指定大小和间距:在任一侧都有(自动创建的)间距约束意味着大小,但是如果你摆脱了其中一个,则不再指定大小。 (这就是为什么你无法摆脱自动创建的约束 - 在视图中显示为窄蓝线并在文档轮廓中显示紫色图标的约束。)

这不是按钮的问题,因为按钮知道如何自己调整大小,而IB知道按钮的大小。 IB不了解您的自定义视图,因此您必须自己设置约束。选择视图后,选择编辑器> Pin>宽度以创建宽度约束。这两者都创建了宽度约束并将现有的间距约束转换为用户约束(而不是自动约束) - 它们显示为实线并且在文档轮廓中具有蓝色图标。

现在您可以在右侧选择间距约束并将其删除,您的视图将保持其宽度并保持在左侧。重复下面的高度和空间,您的视图将保持在左上角而不是调整大小。

您可以阅读有关新的自动布局系统in Apple's guide的更多信息。

答案 1 :(得分:0)

选择您的视图。转到“文件检查器”并禁用“使用自动布局”。 d