我有一个UI元素(UISwitch
实际上,但实际上并不重要),它的前导和尾随空间都固定在Interface Builder中的超级视图中。约束看起来像这样在Xcode 6:iOS8自动布局以编程方式固定到相对布局边距
为主导空间的限制是相同有效。约束值为42.0分。
这正是我想要的,因为不同的设备,我可以在UIView
改变layoutMargins
属性和约束将正常工作,在视图间进行提高保证金。
现在我想在代码中添加另一个视图,该视图也将前导和尾随空格固定为超视图边距,因此设置为超视图的相同layoutMargins
将起作用。
我固定使用视觉格式的语言语法如下观点:
NSArray *constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"|-42.0-[separatorView]-42.0-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(self.contentView, separatorView)];
[self.contentView addConstraints:constraints];
[self.contentView setNeedsUpdateConstraints];
这工作,但layoutMargins
财产使用这种约束没有任何作用,所以它显然是不固定的保证金,而是直接超级查看。
所以我的问题是:
如何用视觉语言格式针UI元素的空间保证金的代码?或者如果不可能,如何使用constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:
API进行封装?
谢谢!