2010-10-16 3 views
2

ma sous-vue (childView) a une largeur inférieure à la vue parent.Cocoa Touch: Comment ajouter une sous-vue centrée horizontalement dans sa vue parente?

[parentView addSubview:childView]; 

Je me demande comment je pourrais être en mesure d'ajouter cet enfant centrée horizontalement (verticalement je veux qu'il reste le même) dans la vue parent. J'aimerais le faire dans le code. En ce moment, il ajoute mais dans le coin supérieur gauche du parent. des idées?

Merci!

Répondre

3
MyView *v = [[MyView alloc] init]; 
CGFloat parentWidth = parentview.bounds.size.width; 
CGRect frame = CGRectMake(floor((parentWidth - v.width)/2), 
          0, 
          v.width, 
          v.height); 
v.frame = frame; 
[parentview addSubview:v]; 

De toute évidence, vous aurez besoin de remplacer v.height et la largeur avec la largeur réelle et changer les noms des variables pour correspondre à votre propre. La clé ici est le plancher de la largeur du parent moins la vue, divisé par 2

+0

fonctionne comme un charme, merci! cependant - v.width, v.height devrait être v.frame.size.width, v.frame.size.height. – foreyez