ios - 在两个对象之间添加 NSLayoutConstraint

标签 ios iphone nslayoutconstraint

我在 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/

相关文章:

ios - 我可以在 iOS 9 中上传只有 4 英寸启动图像的 App Store 构建吗?

iPhone 持久存储

ios - 为什么我现在每次启动应用程序时都会收到 "Auto Layout still required after executing -layoutSubviews"错误?

ios - 文本在容器中无法正确显示(swift 3.0)

ios - iPhone 5S 的静态图像拍摄时间比 iPhone 5 慢?

ios - 警报的屏幕截图,iOS,Swift

ios - StatusBar 文本颜色在 iOS 7 中没有改变

ios - 预加载纹理时可以使用多少内存?

objective-c - 调试程序化自动布局约束

ios - 空中应用——实现Facebook