Come riscrivere formato visivoAuto Layout: layoutMarginsGuide
addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("|-[label]-|", options: .AlignAllBaseline, metrics: nil, views: ["label": label]))
addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|-[label]-|", options: .AlignAllCenterX, metrics: nil, views: ["label": label]))
spostando alle guide di layout (con margini)?
ho provato con
label.topAnchor.constraintEqualToAnchor(layoutMarginsGuide.topAnchor).active = true
label.leftAnchor.constraintEqualToAnchor(layoutMarginsGuide.leftAnchor).active = true
label.bottomAnchor.constraintEqualToAnchor(layoutMarginsGuide.bottomAnchor).active = true
label.rightAnchor.constraintEqualToAnchor(layoutMarginsGuide.rightAnchor).active = true
ma non funziona. Anche layoutMarginsGuide.layoutFrame
non ha un valore previsto (sì, lo chiamo in layoutSubviews
dopo l'esecuzione di super
). I vincoli sono impostati, ma agisce come se ci fosse margine zero. Disegna e fornisce layoutFrame
previsto solo quando il margine di layout è impostato su negativo; che non è quello che voglio ovviamente, ma dimostra che i vincoli sono impostati con le guide dei margini. Sembra che manchi qualcosa ...
Se trovi qualcosa, per favore condividi. –
aggiornato con i miei risultati – midas06
Ok ... bella cattura, ma questo non ha senso per me. Inoltre, i nuovi 'layoutMargins' devono differire in valore. Lo stesso problema qui: https://forums.developer.apple.com/it/message/93313. Sembra essere un bug. –