ich die folgende Implementierung eines UIView habe ..NSLayoutConstraint mit VFL funktioniert nur horizontal, wenn '|'
struct LoginView {
let loginView: UIView = UIView()
func layoutLoginView() -> UIView {
loginView.translatesAutoresizingMaskIntoConstraints = false
loginView.backgroundColor = UIColor.purple
return loginView
}
}
Dann SubView ich die oben in dem Viewcontroller wie unten ..
class LoginVC: UIViewController {
private let instanceOfLoginView = LoginView()
override func loadView() {
super.loadView()
view.addSubview(instanceOfLoginView.layoutLoginView())
NSLayoutConstraint.activate(NSLayoutConstraint.constraints(withVisualFormat: "H:|-[loginView]-|", options: [], metrics: [:], views: ["loginView":instanceOfLoginView.layoutLoginView()]))
NSLayoutConstraint.activate(NSLayoutConstraint.constraints(withVisualFormat: "V:|-[loginView]-|", options: [], metrics: [:], views: ["loginView":instanceOfLoginView.layoutLoginView()]))
}
Das Problem ist, dass nur die 'H'
Seite des NSLayout funktioniert - überprüfen Sie den Screenshot unten -. Die 'V'
funktioniert nicht.
Wenn ich jedoch die folgenden "V:|-8-[loginView]-8-|"
anwende, funktioniert es !!!
Können Sie uns beraten, warum funktioniert die "V:|-[loginView]-|"
einfach nicht, bitte ..?
Schätzen Sie Ihre Hilfe!
Ich schätze Ihre Bemühung. Wirklich hilfreich. Danke, dass du einen Neuling wie mich geführt hast. Schnelle Frage, wenn man vor iOS 11 sagt, bedeutet das, dass sich das ändert, wenn 11 herauskommt ..? –
Ja - siehe Apples Dokumentation, oder: https://useyourloaf.com/blog/changing-root-view-layout-margins/ – DonMag