Wenn ich NSLayoutConstraint zu einer Ansicht hinzufüge, wird die Ansicht ausgeblendet.Nach dem Hinzufügen einer NSLayoutConstraint verschwindet die Ansicht.
Ich verwende den folgenden Code ein:
let test:UIView = UIView(frame: CGRectMake(0, 0, 100, 100))
test.backgroundColor = UIColor.blackColor()
self.view.addSubview(test)
test.translatesAutoresizingMaskIntoConstraints = false
let topCKCtr = NSLayoutConstraint(item: test, attribute: .CenterX, relatedBy: .Equal, toItem: test.superview, attribute: .CenterX, multiplier: 0.5, constant: 0)
topCKCtr.active = true
let topCKCtr1 = NSLayoutConstraint(item: test, attribute: .CenterY, relatedBy: .Equal, toItem: test.superview, attribute: .CenterY, multiplier: 0.5, constant: 0)
topCKCtr1.active = true
self.view.layoutIfNeeded()
self.view.setNeedsDisplay()
Wenn ich Ansicht Hierarchie debuggen, ich sehe, dass die Ansicht besteht, auch wenn sie nicht sichtbar ist. Sehen Sie den folgenden Screenshot für Details - nur die Einschränkung ist sichtbar, nicht die Ansicht:
Sobald Sie Einschränkungen beginnen, müssen Sie alles definieren. Der Rahmen wird nicht mehr verwendet. Fügen Sie daher Einschränkungen für Breite und Höhe hinzu. – vacawama