2013-06-02 118 views
0

我需要在代码中添加一个未定义数字的NSButton到NSView。问题是我不能使用constraintsWithVisualFormat:,因为我不知道NSButton的名称以及我拥有的按钮数。任何人都有解决方案?谢谢!NSAutoLayout:如何动态添加元素

+0

我认为我可以dinamically创建在'constraintsWithVisualFormat使用的字符串:'方法,但我可以这样做,如果我有一个'NSButton'数组? – Luca

回答

0

使用constraintsWithVisualFormat:,你需要知道指向您NSButtons 只有在使用NSDictionaryOfVariableBindings创建视图的字典的变量的名称。你可以使用你喜欢的任何键来轻松创建自己的字典。

如果你的按钮都存储在一个数组,你可以遍历它们和他们每个人之间建立约束:

for (int i = 1 ; i < buttonArray.count ; i++) { 
    NSDictionary* views = @{ @"buttonOne":buttonArray[i-1] , @"buttonTwo":buttonArray[i] } ; 
    NSArray* constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"[buttonOne]-[buttonTwo]" options:0 metrics:nil views:views] ; 
    // Use the constraints. 
} 
+0

是的,我在回复之前找到了解决方案,但这正是我需要的。再次感谢! – Luca