2010-10-25 4 views
15

Je dois ajouter une animation de chargement simple sur le dessus de ma vue ... et je veux qu'il soit au centre de l'écran (aria visible) .. quelqu'un peut me diriger vers la bonne direction ? comment obtenir le centre de la fenêtre afin que je puisse ajouterSubview ..?Faire UIView au centre de l'écran

Répondre

42

Vérifier la propriété du centre de UIView. Vous pouvez configurer votre centre en vue de viewControllers vue racine par exemple:

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

loadingView.center = aSuperview.center; loadingView.frame.size = CGSizeMake (300, 300); // lors de la définition de ce code X, une erreur Lvalue est requise comme assignation d'opérande gauche. Je suis bloqué sur ce .. – r3dsm0k3

+0

oh c'était ma faute..je dois définir le frame dans son ensemble.CGRect newFrame = loadingView.frame; \t newFrame.size.height = 300; \t newFrame.size.width = 300; \t loadingView.frame = newFrame; Merci Vladimir – r3dsm0k3

+0

loadView.frame.size renvoie un CGRect, qui n'est pas une valeur l. Pour définir la taille d'image, vous devez utiliser une variable séparée (CGRect newFrame = loadView.frame; newFrame.size = CGSizeMake(); loadView.frame = newFrame) ou définir explicitement tous les composants de l'image: loadView.frame.size = CGRectMake (0, 0, 300, 300); – Vladimir

7

Si vous voulez contrôler l'alignement de l'axe central de séparément, examiner la réponse ci-dessous.

Center/aligner le long de l'axe X

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

Center/aligner le long de l'axe Y

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

Existe-t-il un moyen de le faire avec .frame = CGRectMake (...)? – LinusGeffarth

Questions connexes