0
Я хотел бы добавить отступы между полем1 и полем2, он работает в раскадровке, но мне нужно установить его программно, поэтому я попробовал это, но 2 поля находятся рядом друг с другом, не существует такого интервала 30 между двумя: контейнер зеленый, field1 является оранжевым, field2 синий:Интервал заполнения не работает между двумя видами, с ограничениями визуального макета?
var fviews = ["field1":field1, "field2":field2, "field3":field3, "field4":field4 ]
let metrics : [NSObject: AnyObject] = ["spacingV" : 30]
//FIELD 2
fviews = [ "field1":field1, "field2":field2 ]
str = "V:|[field1]-(==spacingV)-[field2]" //----> HERE, I also tried -spacingV-
var verticalFields = NSLayoutConstraint.constraintsWithVisualFormat(str, options: nil, metrics: metrics, views: fviews)
self.view.addConstraints(verticalFields)
//equal height with multiplier 0.2 :
equalHeightMult = NSLayoutConstraint(item: field2,
attribute: NSLayoutAttribute.Height,
relatedBy: NSLayoutRelation.Equal,
toItem: container,
attribute: NSLayoutAttribute.Height,
multiplier: 0.2,
constant: 0)
self.view.addConstraint(equalHeightMult)
//align X center
centerXConstraint =
NSLayoutConstraint(item: field2,
attribute: NSLayoutAttribute.CenterX,
relatedBy: NSLayoutRelation.Equal,
toItem: container,
attribute: NSLayoutAttribute.CenterX,
multiplier: 1.0,
constant: 0)
self.view.addConstraint(centerXConstraint)
//HORIZONTAL: equal width with multiplier 0.7 :
equalWidthMult = NSLayoutConstraint(item: field2,
attribute: NSLayoutAttribute.Width,
relatedBy: NSLayoutRelation.Equal,
toItem: container,
attribute: NSLayoutAttribute.Width,
multiplier: 0.7,
constant: 0)
self.view.addConstraint(equalWidthMult)
Я понятия не имею, почему, но теперь это работает, причем оба синтаксиса, спасибо за ответ – Paul