2013-06-02 117 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