Cocoa 使用IB中的自动布局水平对齐两个视图

Cocoa 使用IB中的自动布局水平对齐两个视图,cocoa,autolayout,interface-builder,Cocoa,Autolayout,Interface Builder,我有一个单选按钮和一个标签。我需要使它们在NSView中水平对齐,以便单选按钮位于标签的左侧: [单选按钮][标签] 这似乎是一件非常琐碎的事情,但在IB中执行时,我最终会将标签放在按钮的顶部(或下方)。如果我改为以编程方式应用约束,我会得到我想要的。以下是程序限制: [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|-5-[_deviceBut

我有一个单选按钮和一个标签。我需要使它们在NSView中水平对齐,以便单选按钮位于标签的左侧: [单选按钮][标签]

这似乎是一件非常琐碎的事情,但在IB中执行时,我最终会将标签放在按钮的顶部(或下方)。如果我改为以编程方式应用约束,我会得到我想要的。以下是程序限制:

[self  addConstraints:[NSLayoutConstraint
                            constraintsWithVisualFormat:@"|-5-[_deviceButton][_statusLabel]-20-|"
                                    options:NSLayoutFormatAlignAllBottom
                                            metrics:nil views:views]];
在IB中,我对两个视图都使用“尾随空间到容器”、“顶部空间到容器”、“底部空间到容器”、“前导空间到容器”,并在两个视图之间设置“水平间距”约束。在IB中我会错过什么?我以前做过这件事,但我这辈子都做不好吗?
谢谢

如果我理解正确,您希望两个按钮组在视图中居中


在这种情况下,将这两个项目嵌入到一个视图中(选择它们,然后转到编辑器>嵌入>自定义视图),然后您可以在视图中水平居中放置容器视图。

您不希望这两个元素都有这四个约束。您想要成为两个视图中最左边的按钮,应该约束在顶部、前导和底部的容器中;标签应限制在顶部、尾部和底部的容器中。将按钮的右边缘水平约束到标签的左边缘。(您会注意到,这正是您的视觉格式最终生成的内容。)