Ich versuche, eine Unteransicht zu der keyWindow
der App hinzuzufügen, und positioniere sie mithilfe des automatischen Layouts. Das automatische Layout scheint jedoch überhaupt nicht zu funktionieren, während das Setzen eines Frames dies tut. Ich möchte, dass meine Ansicht infoSc
auf dem Boden des keyWindow
mit dem folgenden Code auszurichten:Verwenden Sie das automatische Layout in der Ansicht, das zu UIWindow hinzugefügt wurde
let infoSc = InfoScreenView()
infoSc.translatesAutoresizingMaskIntoConstraints = false
let keyWindow = UIApplication.sharedApplication().keyWindow!
keyWindow.addSubview(infoSc)
keyWindow.addConstraint(NSLayoutConstraint(item: infoSc, attribute: .Left, relatedBy: .Equal, toItem: keyWindow, attribute: .Left, multiplier: 1, constant: 0))
keyWindow.addConstraint(NSLayoutConstraint(item: infoSc, attribute: .Right, relatedBy: .Equal, toItem: keyWindow, attribute: .Right, multiplier: 1, constant: 0))
keyWindow.addConstraint(NSLayoutConstraint(item: infoSc, attribute: .Bottom, relatedBy: .Equal, toItem: keyWindow, attribute: .Bottom, multiplier: 1, constant: 0))
infoSc.addConstraint(NSLayoutConstraint(item: infoSc, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 100))
Jedoch scheint es, einen Rahmen von CGRectZero
diese Methode zu haben, verwenden. Irgendwelche Ideen, wie das funktioniert? Idealerweise würde ich es auch auf etwas ausrichten wollen, das sich innerhalb von self.view
befindet, aber das wirft einen Fehler auf, der self.view
nicht in der Ansichtshierarchie von keyWindow
ist.
vollständigen Fehler anzeigen – anders