2013-12-13 53 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