Jeg har en UIView
, og jeg angir begrensningene ved hjelp av Xcode Interface Builder.
Nå må jeg oppdatere UIView's
høydekonstant programmatisk.
Det finnes en funksjon som heter myUIView.updateConstraints()
, men jeg vet ikke hvordan jeg skal bruke den.
Velg høydebegrensningen fra grensesnittbyggeren og ta et utløp av den. Når du vil endre høyden på visningen, kan du bruke koden nedenfor.
yourHeightConstraintOutlet.constant = someValue
yourView.layoutIfNeeded()
Metoden updateConstraints()
er en instansmetode for UIView
. Den er nyttig når du angir begrensningene programmatisk. Den oppdaterer begrensninger for visningen. For mer informasjon, klikk her.
Dra begrensningen inn i VC som en IBOutlet. Deretter kan du endre den tilhørende verdien (og andre egenskaper; se dokumentasjonen):
@IBOutlet myConstraint : NSLayoutConstraint!
@IBOutlet myView : UIView!
func updateConstraints() {
// You should handle UI updates on the main queue, whenever possible
DispatchQueue.main.async {
self.myConstraint.constant = 10
self.myView.layoutIfNeeded()
}
}