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.

Author: coder, 2012-09-20

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.
 13
Author: Mark Granoff,
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.

 6
Author: Aleks G,
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.

 3
Author: Nirav,
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?

 0
Author: Has AlTaiar,
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