2010-10-25 7 views
15

Necesito agregar una animación de carga simple en la parte superior de mi vista ... y quiero que esté en el centro de la pantalla (aria visible) ... ¿alguien puede indicarme la dirección correcta? .? cómo obtener el centro de la ventana para poder agregar Subvista ...?Hacer UIView en el centro de la pantalla

Respuesta

42

Compruebe la propiedad del centro de UIView. Puede configurar la vista del centro de vista raíz viewControllers por ejemplo:

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

loadingView.center = aSuperview.center; loadingView.frame.size = CGSizeMake (300, 300); // al establecer este Xcode arroja un error Lvalue requerido como asignación de operando alef ... me quedé atrapado en esto ... – r3dsm0k3

+0

oh, esa fue mi culpa ... necesito configurar el encuadre todo como este.CGRect newFrame = loadingView.frame; \t newFrame.size.height = 300; \t newFrame.size.width = 300; \t loadingView.frame = newFrame; Gracias Vladimir – r3dsm0k3

+0

loadingView.frame.size devuelve un CGRect, que no es un valor l. Para establecer el tamaño del marco, debe usar una variable separada (CGRect newFrame = loadingView.frame; newFrame.size = CGSizeMake(); loadingView.frame = newFrame) o configurar explícitamente todos los componentes del marco: loadingView.frame.size = CGRectMake (0, 0, 300, 300); – Vladimir

7

Si lo desea, puede controlar la alineación central del eje de forma separada, considere la respuesta a continuación.

Center/alinear a lo largo del eje X

yourView.center = CGPointMake(self.view.center.x,self.yourView.center.y); 

Center/alinear a lo largo del eje Y

yourView.center = CGPointMake(self.yourView.center.x, self.view.center.y); 
+1

¿Hay alguna manera de hacerlo con .frame = CGRectMake (...)? – LinusGeffarth

Cuestiones relacionadas