41 votes

Comment centrer un UILabel sur UIView

Comment centrer l'UILabel sur l'UIView ? j'utilise le code suivant

 float width = weatherView.bounds.size.width; 
float height = weatherView.bounds.size.height; 

[self.label setFrame:CGRectMake(width-100,height-100, 100, 100)];

103voto

PengOne Points 33226

Que diriez-vous:

 [self.label setCenter:view.center];

36voto

Nashenas Points 1513

Si l'étiquette est une sous-vue de la vue :

 [self.label setCenter:CGPointMake(view.frame.size.width / 2, view.frame.size.height / 2)]

N'utilisez pas view.center moins que l'étiquette et la vue aient la même vue d'ensemble.

S'il n'y a pas de connexion immédiate, vous devrez alors transformer le centre de la vue en l'espace de coordonnées du parent de l'étiquette. Ensuite, vous pouvez utiliser la réponse de PengOne avec le point transformé.

21voto

Alex Delgado Points 701

Utilisez NSTextAlignmentCenter si ce que vous avez est l'étiquette déjà définie et que vous souhaitez centrer son contenu.

 cell.menuLabel.textAlignment = NSTextAlignmentCenter;

3voto

DenVog Points 1588

La réponse de PengOne / Alex Lockwood est simple et utile. Si vous avez l'intention de prendre en charge la rotation, ajoutez ce qui suit pour qu'elle reste centrée :

 [self.myLabel setAutoresizingMask:UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth];

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