2013-12-13 50 views
0

我在添加web视图和工具栏之间的约束时遇到问题。我正在使用下面的代码,但得到一个错误。在两个对象之间添加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