147 votes

Comment centrer une sous-vue d'UIView

J'ai un UIView l'intérieur d'un UIViewm et je veux que le UIView intérieur soit toujours centré à l'intérieur de l'extérieur, sans qu'il ait à redimensionner la largeur et la hauteur.

J'ai réglé les entretoises et les ressorts de sorte qu'ils soient en haut/gauche/droite/bas sans régler le redimensionnement. Mais ça ne tourne toujours pas au centre.

306voto

Hejazi Points 5981

Vous pouvez le faire et cela fonctionnera toujours :

child.center = [parent convertPoint:parent.center fromView:parent.superview];

Et pour Swift :

child.center = parent.convert(parent.center, from:parent.superview)

236voto

happy pig Points 528

Objectif C

yourSubView.center = CGPointMake(yourView.frame.size.width  / 2, 
                                 yourView.frame.size.height / 2);

SWIFT

yourSubView.center = CGPoint(x: yourView.frame.size.width  / 2,
                             y: yourView.frame.size.height / 2)

28voto

theprojectabot Points 317

J'utiliserais :

self.childView.center = CGPointMake(CGRectGetMidX(self.parentView.bounds),
                                    CGRectGetMidY(self.parentView.bounds));

J'aime utiliser les options CGRect...

SWIFT 3 :

self.childView.center = CGPoint(x: self.parentView.bounds.midX,
                                        y: self.parentView.bounds.midY);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X