come mai il UILabel
disegnato in questo codice non è nel centro della view
?UILabel impostato al centro di vista
//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 linea, label.center = view.center;
deve spostare il label
al centro della view
. Lo sposta invece verso il punto in cui il centro di label
si trova nell'angolo a sinistra dello view
come mostrato di seguito.
screenshot http://gyazo.com/2d1c064a671e32c7eb004647232fa430.png
Qualcuno sa perché?
Prima di tutto perché lo fai 'self.view = vista'? Non ti serve, secondo la tua 'view' non ha un set di frame. Terzo, usa label.center = self.view.center. – danypata
Primo, perché sto costruendo una vista all'interno di un'applicazione. In secondo luogo, come faccio a farlo. Terzo, uso 'view.center' perché sto creando una nuova vista. Ho bisogno di impostare la vista a 'UIView * view' usando' self.view = view' –
Suppongo che questo codice sia in '-viewDidLoad'. Destra? –