我有一个单选按钮和一个标签。我需要在NSView中使它们水平对齐,以便单选按钮位于标签的左侧:[单选按钮][标签]
这似乎是一件很琐碎的事情,但当在IB中这样做时,我最终会在按钮的顶部(或下面)显示标签。如果我改为以编程方式应用约束,我就会得到我想要的。以下是程序约束:
[self addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"|-5-[_deviceButton][_statusLabel]-20-|"
options:NSLayoutFormatAlignAllBottom
metrics:nil views:views]];
在IB中,我对两个视图都使用了"尾部空间到容器"、"顶部空间到集装箱"、"底部空间到集装箱》、"前导空间到集装箱",并在两个视图之间设置了"水平间距"约束。IB中我可能缺少什么?我以前也这样做过,但我一辈子都做不好吗?感谢
如果我理解正确,您希望这两个按钮组都位于视图的中心。
在这种情况下,将这两个项目嵌入到视图中(选择它们,然后转到"编辑器">"嵌入">"自定义视图"),然后可以在视图中水平居中放置容器视图。
对于这两个元素,您不希望所有这四个约束。您想要成为两个视图中最左边的按钮,应该将其限制在顶部、前导和底部的容器中;标签应限制在其容器的顶部、尾部和底部。将按钮的右边缘水平约束到标签的左侧。(您会注意到,这正是您的视觉格式最终生成的结果。)