2013-12-13 3 views
0

У меня возникла проблема с добавлением ограничения между веб-представлением и панелью инструментов. Я использую следующий код, но получаю сообщение об ошибке.Добавление NSLayoutConstraint между двумя объектами

NSDictionary *viewsDictionary6 = NSDictionaryOfVariableBindings(newWebView, self.bottomToolBar); 
NSArray *constraint6 =[NSLayoutConstraint constraintsWithVisualFormat:@"V:[newWebView]-(0)-[bottomToolBar]" options:0 metrics:nil views:viewsDictionary6]; 

for (int i = 0; i<constraint6.count; i++) 
{ 
    [self.view addConstraint:constraint6[i]]; 
} 

Я пытаюсь скопировать аналогичное ограничение, которое автоматически генерируется из IB.

<NSLayoutConstraint:0x8b876b0 V:[UIWebView:0x8c53560]-(0)-[UIToolbar:0x9844400]> 

Любая идея, что я делаю неправильно?

ответ

1

Свойства, переданные в NSDictionaryOfVariableBindings(), имеют другое название (я не помню, что это такое).

Если передать собственность в, а не Ивар, например self.bottomToolBar ключ будет self.bottomToolBar однако с помощью «.» в визуальном формате будет вызывать ошибки синтаксиса, когда он обрабатывается.

Попробуйте пропускание синтезированного Ивара в вместо:

NSDictionary *viewsDictionary6 = NSDictionaryOfVariableBindings(newWebView, _bottomToolBar); 
NSArray *constraint6 =[NSLayoutConstraint constraintsWithVisualFormat:@"V:[newWebView]-(0)-[_bottomToolBar]" options:0 metrics:nil views:viewsDictionary6]; 
[self.view addConstraints:constraint6]; 
+0

Спасибо! Это сделал трюк! – user961632

Смежные вопросы