Ich habe sehr einfache Einrichtung in viewDidLoad
, nur eine Ansicht hinzufügen, und stecken Sie es durch ‚Anker‘ Stil Super Margen:Wie die Layout-Ränder programmatisch ändern
let myView = UIView(frame: .zero)
myView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(myView)
myView.backgroundColor = UIColor.red
myView.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor).isActive = true
myView.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor).isActive = true
myView.bottomAnchor.constraint(equalTo: view.layoutMarginsGuide.bottomAnchor).isActive = true
myView.topAnchor.constraint(equalTo: view.layoutMarginsGuide.topAnchor).isActive = true
view.layoutMargins = .zero
Das Problem ist, dass es noch eine Marge wenn dies im Simulator ausgeführt wird. Warum wird die Nullsetzung von LayoutMargins ignoriert?
Wenn Sie Null wollen, warum 'view.leadingAnchor' nicht direkt verwenden? –
kann ich nicht. Dies ist ein sehr vereinfachter Fall von einem Projekt. Ich baue keine rote Rechteck-App :-) –
OK, ich habe das vermutet, also gibt es meine Antwort auf Ihr Problem –