2010-03-27 14 views
11

Szukałem się, jak utworzyć widok programowo i znalazł Poniższy przykład kodu:Unikać hardcoding iPhone rozmiaru ekranu z tworzeniem programowy widoku

self.view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];

Działa to doskonale, z wyjątkiem nie podoba mi się, że to kody twarde rozmiaru ekranu. Czy istnieje sposób na sprawdzenie rozmiaru ekranu? Ważnym punktem, który ktoś poruszył, jest to, że jeśli aplikacja jest uruchomiona podczas rozmowy telefonicznej, ekran będzie nieco mniejszy z powodu zielonego paska "powrót do rozmowy".

Odpowiedz

26

Czy istnieje sposób, aby sprawdzić rozmiar ekranie?

Yup:

CGRect screenRect = [[UIScreen mainScreen] applicationFrame]; 

applicationFrame

Ta nieruchomość zawiera granice ekranu minus obszar zajmowany przez pasku stanu, jeśli jest widoczny. Korzystanie z tej właściwości jest zalecanym sposobem pobrania początkowego rozmiaru okna aplikacji . Prostokąt jest określony w punktach.

3

[[UIScreen mainScreen] bounds] lub [[UIScreen mainScreen] applicationFrame]

powinno być wszystko, czego potrzeba, aby uzyskać pełny rozmiar ekranu.

Używam tylko wersji applicationFrame.

(ja też zaproponował [UIHardware fullScreenApplicationContentRect] ale to było od jakiegoś bardzo starego kodu - nie go używać)

+2

UIHardware nie jest klasą w bieżącym SDK. –

+0

Już w połowie edycji tego :-) – Andiih

Powiązane problemy