Come centrare qualsiasi sottoview nell'interfaccia utente principale solo in orizzontale, non in verticale. Provai child.center = parent.center
ma posiziona la vista di mio figlio al centro della vista padre sia in orizzontale che in verticale. Come posso allinearlo al centro solo in orizzontale. Grazie
risposte:
26 per risposta № 1Cambiare solo il centro in questo modo può essere d'aiuto
child.center = CGPointMake(CGRectGetMidX(parentView.bounds), child.center.y);
2 per risposta № 2
Non puoi "modificare" il x
proprietà del UIViewController
"S center
direttamente, ma puoi fare quanto segue:
CGPoint center = child.center;
center.x = parent.center.x;
child.center = center;
1 per risposta № 3
Prova questo,
subview.frame = CGRectMake(((parentView.frame.size.width/2)-(subview.frame.size.width/2)),subview.frame.origin.y,subview.frame.size.width,subview.frame.size.height);
0 per risposta № 4
Avevo bisogno di centrare orizzontalmente (ma non verticalmente) un UIImageView per ogni diversa dimensione del dispositivo, quindi ho usato questo, che ha funzionato bene:
CGRect screenRect = [[UIScreen mainScreen] bounds];
[self.myImageView setCenter:CGPointMake(CGRectGetMidX(screenRect), self.myImageView.frame.origin.y + self.myImageView.frame.size.height/2)];