2010-10-25 16 views
15

Potrzebuję dodać prostą animację ładowania na górze mojego widoku .. i chcę, żeby był na środku ekranu (widoczna aria) .. czy ktoś może wskazać mi właściwy kierunek .? jak uzyskać środek okna, aby móc dodaćSubview ..?Ustaw UIView na środku ekranu

Odpowiedz

42

Sprawdź właściwość centrum UIView. Można ustawić widok na centrum viewControllers widoku głównym na przykład:

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

loadingView.center = aSuperview.center; loadingView.frame.size = CGSizeMake (300, 300); // przy ustawianiu tego Xcode zgłasza błąd Wymagana jest wartość L, ponieważ alge- dy przypisanie operandu ... utknąłem w tym .. – r3dsm0k3

+0

oh to była moja wina ... muszę ustawić ramka w całości taka jak ta.CGRect newFrame = loadingView.frame; \t newFrame.size.height = 300; \t newFrame.size.width = 300; \t loadingView.frame = newFrame; Dzięki Vladimir – r3dsm0k3

+0

loadingView.frame.size zwraca CGRect, który nie jest l-wartością. Aby ustawić rozmiar klatki, musisz użyć osobnej zmiennej (CGRect newFrame = ładowanie widoku.frame; newFrame.size = CGSizeMake(); loadingView.frame = newFrame) lub jawnie ustawić wszystkie komponenty ramki: loadingView.frame.size = CGRectMake (0, 0, 300, 300); – Vladimir

7

Jeśli możesz kontrolować wyrównanie środkową oś odrębnie rozważyć poniższą odpowiedź.

Centre/ustawiania się wzdłuż osi X

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

Centre/ustawiania się wzdłuż osi Y

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

Czy istnieje sposób na to zrobić z .frame = CGRectMake (...)? – LinusGeffarth

Powiązane problemy