簡體   English   中英

在兩個對象之間添加NSLayoutConstraint

[英]adding NSLayoutConstraint between two objects

我在網絡視圖和工具欄之間添加約束時遇到問題。 我正在使用以下代碼,但出現錯誤。

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]>

知道我在做什么錯嗎?

傳遞給NSDictionaryOfVariableBindings()屬性具有不同的名稱(我不記得它是什么)。

如果您在而不是iVar中傳遞屬性,例如self.bottomToolBar則密鑰將為self.bottomToolBar,但是在可視格式中使用“ ”將在解析時導致語法錯誤。

嘗試傳入合成的iVar:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM