2013-06-02 1 views
0

Мне нужно добавить неопределенное число NSButton к NSView в коде. Проблема в том, что я не могу использовать constraintsWithVisualFormat:, потому что я не знаю имя NSButton, а также количество кнопок, которые у меня есть. У кого-нибудь есть решение? Благодаря!NSAutoLayout: Как добавить элемент динамически

+0

Я думаю, что я могу создать динамически строку, используемую в '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