/ / Come centrare qualsiasi sottoview in orizzontale in UIView principale ma non in verticale? - iOS, obiettivo-c

Come centrare qualsiasi subview orizzontalmente in UIView genitore ma non verticalmente? - Ios, obiettivo-c

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 № 1

Cambiare 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)];