Rozszerz aplikację na iPhone 5 - najlepsze praktyki
Teraz, gdy Apple ma rozpocząć wysyłkę iPhone ' a 5, zastanawiam się nad rozszerzeniem moich aplikacji, aby pojawiały się na pełnym ekranie iPhone 5. Uruchomiłem moje aplikacje na symulatorze, a nawet te z UITableView
rozciągające się na dole ekranu, czarne paski pojawiają się u góry i u dołu ekranu.
Oto moje pytanie: Jaka jest najlepsza praktyka rozszerzania aplikacji na iPhone 5 ?
Czy powinienem teraz zrobić osobną stalówkę dla 3.5 oraz 4 calowy ekran, czy rozszerzyć wszystko w kodzie?
Staram się, aby to jak najbardziej płynne przejście, więc apeluję do wiedzy SO, aby podpowiedzieć mi, co najlepiej jest zbudować dla obu ekranów.
4 answers
Korzystanie z pełnego ekranu 4" w aplikacjach wydaje się być tak proste, jak dodanie nowego domyślnego obrazu o nazwie [email protected]
O rozmiarze 640 x 1136. Xcode 4.5 zaoferuje to automatycznie, dodając czarny obraz o odpowiednim rozmiarze i nazwie do projektu.
W przypadku aplikacji, które używają standardowych komponentów interfejsu użytkownika, takich jak widoki tabel, tabele są magicznie rozszerzane, aby wypełnić ekran. Zaktualizowałem aplikację do pracy i to było dosłownie tak proste, tylko kilka drobnych problemów związane z moim własnym kodem i konfiguracją interfejsu użytkownika. Ale w sumie, bardzo proste.
Porównaj to z inną aplikacją, nad którą pracuję (dla siebie), która nie używa żadnego ze standardowych komponentów interfejsu użytkownika, z wyjątkiem UIViews. Aby poradzić sobie zarówno z ekranami 3.5", jak i 4", musiałem poświęcić sporo czasu na refaktoryzację kodu, który musi znać rozmiar ekranu dla różnych operacji aplikacji. (Aplikacja w tym przypadku jest bardziej grą/symulatorem niż powiedzmy, aplikacją zwiększającą wydajność.)
Zatem przebieg może się różnić w zależności od poziom wysiłku naprawdę wymagany do obsługi ekranu 4". To zależy od tego, jak skomplikowana i" niestandardowa " jest Twoja aplikacja, jak odkryłem.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-23 04:49:29
Podczas aktualizacji istniejącej aplikacji dla iphone ' a 5 o większym ekranie może się również okazać, że dolna część ekranu nie jest "klikalna". Na przykład, jeśli masz pasek narzędzi u dołu ekranu, pasek ten będzie wyświetlany poprawnie, ale przyciski nie reagują na dotyk. W takim przypadku musisz poinformować aplikację, że okno jest w trybie pełnoekranowym.
Jeśli masz MainWindow.xib
, Otwórz go, wybierz window
i w Inspektorze atrybutów upewnij się, że " Pełny ekran w Launch " jest zaznaczone.
Jeśli nie masz MainWindow.xib
w swoim projekcie( a większość nowszych projektów nie ma), musisz dodać jedną dodatkową linię w applicationDidFinishLaunching
delegata aplikacji:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[window setFrame:[[UIScreen mainScreen] bounds]];
...
}
Umieściłem go na początku metody. Zadziałało jak zaklęcie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-02 14:47:58
Znajdziesz tę ścieżkę z symulatorem XCode->Targets->Summary->iPhone/iPod Deployment Info( the Retina 4-inch )
Musisz dodać domyślny obraz o rozmiarze 640 x 1136.
Zastosuj ten kod w swoim pliku AppDelegate
mainWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
mainWindow.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
Otrzymasz rozmiar głównego ekranu okna. jeszcze jedno, gdy chcesz sprawdzić w swoim pliku klasowym, po prostu dodaj ten kod
if ([UIScreen mainScreen].bounds.size.height > 500.0f)
Do kontrolera widoku wystarczy dodać jedną właściwość autoresizingMask
self.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
To działa dobrze dla ja.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-14 19:27:27
Szukałem tego samego problemu, próbując uzyskać iPhone 5 (4"), aby renderować moje pliki xib na Pełny ekran, i znalazłem odpowiedź, która mówi, że wystarczy dodać obraz [email protected]
, aby powiedzieć iOS, że musi renderować aplikację w 4" pełnym ekranie. samo dodanie tego naprawiło problem dla mnie.
Dlaczego [UIScreen mainScreen].bounds] nie zwraca pełnego rozmiaru ekranu?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:23:56