2013-03-30 29 views
1

我想在代碼中指定一個固定的NSView高度。用方法addConstraint:我可以指定對象屬性之間的關係,但我不能說:「這個NSView應該是50像素高」。任何人都知道如何做到這一點?謝謝!指定代碼中的高度限制

回答

1

whatabout:

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

但要記住,你現在只是增加了一個約束的觀點。您可能希望將它放在某種控制器中,與其他對象相關。有意見來設定自己的限制是完全正確的。這就是在InterfaceBuilder中一直髮生的情況。其他視圖和UI元素之間的關係應該位於視圖樹中的下一個更高級別。

0

如果你不喜歡視覺約束格式,你也可以像這樣設置。

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

    seperationView.addConstraint(heightCosntraint)