2012-07-17 16 views

Respuesta

15

Esto debe hacerlo:

yourButton.frame = CGRectMake(self.view.frame.size.width/2 - yourButton.frame.size.width/2, self.view.frame.size.height/2 - yourButton.frame.size.height/2, yourButton.frame.size.width, yourButton.frame.size.height); 
+0

gracias funciona perfecto también – DavidNg

+0

esto parece funcionar bien para el retrato, pero no para el paisaje, estoy haciendo algo mal? – Rob85

23

Esto centra el botón en su supervista:

CGRect bounds = button.superview.bounds; 
button.center = CGPointMake(CGRectGetMidX(bounds), CGRectGetMidY(bounds)); 
+1

¿No es esto el equivalente de '[button setCenter: superview.center]'? –

+0

No, el 'centro' se mide en el sistema de coordenadas de la supervista, de modo que establecería el' centro' del botón en el centro de la supervista de su supervista. –

1

Ambos rooster117 y Davidng respuestas parecen correctas. Sólo para añadir uno más "opción" para usted, si usted quiere hacer esto animada, que debe hacer:

NSTimeInterval seconds = 1.0; 
[UIView animateWithDuration:seconds animations:^{ 
    //here you should write any reframing/repositioning code 
}]; 
+0

Hola, Bruno, ¿y si quiero un botón para animar con un color específico, rojo y, por ejemplo? – DavidNg

+0

Simplemente ponga el código de cambio de color dentro del bloque de animación. Algo así como: NSTimeInterval seconds = 1.0; [UIView animateWithDuration: animaciones de segundos:^{ [[myButton setBackgroundColor: [UIColor redColor]]; }]; –

0

Hay algunas maneras de hacerlo sin necesidad de escribir código. Si desea intentar colocar el botón en el centro de la pantalla mediante la configuración de la interfaz, puede view my clip.

0
bntTimeEtrySave.Frame =new CoreGraphics.CGRect (
    this.View.Center.X-((bntTimeEtrySave.Bounds.Size.Width)/2), 
    bntTimeEtrySave.Frame.Y,bntTimeEtrySave.Bounds.Size.Width, 
    bntTimeEtrySave.Bounds.Size.Height); 
+1

¡Bienvenido a StackOverflow! Se desalientan las respuestas de solo código [http://meta.stackexchange.com/a/148274/230241]; por favor edite su respuesta para incluir al menos alguna explicación de por qué funciona. – ravron

2

aquí es más sencillo enfoque:

yourButton.center = self.view.center; 
+0

¡Esta es la respuesta correcta! Use center.x o center.y para detalles en x o y si es necesario. –

+0

¿cómo haces que cambie la orientación de este soporte? :( –

Cuestiones relacionadas