Set Set - 1 year ago 169
Swift Question

SnapKit. Replace storyboard constrains

If I create UIButton instance in code and apply constrains using Snapkit framework - it is working as expected. But when I try apply the same code to @IBOutlet button (defined in storyboard), nothing happen - I see button on the same position / size as it was on storyboard...

Sample code:

let button = UIButton()
self.view.addSubview(button)


or

@IBOutlet weak var button: UIButton!


and constrains are

button.snp_makeConstraints { make in
make.width.equalTo(150)
make.height.equalTo(50)
make.centerX.equalTo(self.view.snp_centerX)
make.centerY.equalTo(self.view.snp_centerY).offset(-40)
}


I have tried to call
button.snp_removeConstraints()
before
snp_makeConstraints()
method without success.

Answer Source

SnapKit removes only own constraints.For storyboard constraints you need remove view from superview or use this snippet to clear all default constraints

view.removeConstraints(view.constraints)
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download