我在 Web View 和工具栏之间添加约束时遇到问题。我正在使用以下代码但出现错误。
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];
关于ios - 在两个对象之间添加 NSLayoutConstraint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20564675/