2

我想在代码中指定一个固定的 NSView 高度。使用该方法addConstraint:,我可以指定对象属性之间的关系,但我不能说:“这个 NSView 应该是 50 像素高”。有谁知道该怎么做?谢谢!

4

2 回答 2

1

如果你不喜欢视觉约束格式,你也可以这样设置。

    var heightCosntraint    = NSLayoutConstraint(item: seperationView,
    attribute: NSLayoutAttribute.Height, 
    relatedBy: NSLayoutRelation.Equal, 
    toItem: nil, 
    attribute: NSLayoutAttribute.NotAnAttribute, 
    multiplier: 1, 
    constant: 5.0)

    seperationView.addConstraint(heightCosntraint)
于 2015-02-18T22:22:02.230 回答
1

关于什么:

[myView addConstraint:
    [NSLayoutConstraint
        constraintsWithVisualFormat:@"V:[myView(50)]"
                                options:0
                                metrics:nil
                                  views:NSDictionaryOfVariableBindings(myView)
    ]
];

但请记住,您现在只向视图添加了一个约束。您可能希望将它放在与其他对象相关的某种控制器中。让视图设置自己的约束是非常好的。这就是在 InterfaceBuilder 中一直发生的事情。其他视图和 UI 元素之间的关系应该在视图树的下一个更高级别。

于 2013-03-30T19:13:42.167 回答