我想在代码中指定固定的NSView高度。使用方法addConstraint:
我可以指定对象属性之间的关系,但我不能说:“这个NSView应该是50像素高”。谁知道怎么做?谢谢!
答案 0 :(得分:1)
whatabout:
[myView addConstraint:
[NSLayoutConstraint
constraintsWithVisualFormat:@"V:[myView(50)]"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(myView)
]
];
但请记住,您现在只为视图添加了约束。您可能希望将它放在某种与其他对象相关的控制器中。拥有视图来设置自己的约束是完全没有问题的。这就是InterfaceBuilder中始终发生的事情。 UI的其他视图和元素之间的关系应位于视图树中的下一个更高级别。
答案 1 :(得分: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)