UILabel centre de la vue

Comment se fait la UILabel établies dans le présent code n'est pas dans le centre de la view?

//create the view and make it gray
UIView *view = [[UIView alloc] init];
view.backgroundColor = [UIColor darkGrayColor];

//everything for label
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,42,21)];

//set text of label
NSString *welcomeMessage = [@"Welcome, " stringByAppendingString:@"username"];
welcomeMessage = [welcomeMessage stringByAppendingString:@"!"];
label.text = welcomeMessage;

//set color
label.backgroundColor = [UIColor darkGrayColor];
label.textColor = [UIColor whiteColor];

//properties
label.textAlignment = NSTextAlignmentCenter;
[label sizeToFit];

//add the components to the view
[view addSubview: label];
label.center = view.center;

//show the view
self.view = view;

La ligne, label.center = view.center; devrait déplacer la label au centre de la view. Mais au lieu de cela il se déplace à l'endroit où le centre de la label est dans le coin gauche de la view comme indiqué ci-dessous.

capture d'écran http://gyazo.com/2d1c064a671e32c7eb004647232fa430.png

Personne ne sait pourquoi?

Tout d'abord pourquoi vous ne self.view=view ? Vous n'avez pas besoin d'un second votre view ne dispose pas d'un cadre défini. Troisièmement, l'utilisation de l'étiquette.centre = auto.vue.centre de.
D'abord, parce que je suis bâtiment de vue au sein d'une application. Deuxièmement, Comment puis-je le faire. Et la troisième, j'utilise view.center parce que je suis entrain de créer un nouveau point de vue. J'ai besoin de régler le point de vue de UIView *view à l'aide de self.view= view
Je suppose que ce code est dans -viewDidLoad. Droit?
Oui et c'est pourquoi j'ai expliqué aussi à votre dernière question. Sans un cadre, d'un point de vue a CGRectZero image c'est à dire (0,0,0,0). Afin de toujours définir un cadre pour UIViews.
Un plaisir de vous aider 🙂

OriginalL'auteur Dummy Code | 2013-06-05