Widzenie czarnych pasków u góry iu dołu symulatora iPhone X


132

Uruchamiając moją aplikację w symulatorze iPhone X (GM Seed), dostrzegam dwa dziwne efekty:

  • aplikacja nie zajmuje całego ekranu (górny i dolny obszar jest czarny)
  • dziwny biały pasek pod paskiem tytułu

wprowadź opis obrazu tutaj

Czy ktoś wie, co się tutaj dzieje i jak to rozwiązać? Nie mogę znaleźć żadnych nowych ustawień w Interface Builder.


1
Czy używasz pliku ekranu uruchamiania lub uruchamiasz obrazy? Czy używasz układu automatycznego?
rmaddy

1
Uruchom obrazy i automatyczny układ
Darko

3
Dlaczego używasz obrazów uruchamiania w starym stylu zamiast znacznie łatwiejszego pliku ekranu uruchamiania? W każdym razie, czy dodałeś nowy obraz startowy potrzebny do nowego rozmiaru ekranu?
rmaddy

Nie mogę znaleźć obrazu startowego dla rozmiaru iPhone'a X. Jednak użycie ekranu startowego rozwiązało oba problemy. Edytuj swoją odpowiedź, a oznaczę ją jako odpowiedź. Dzięki!
Darko

5
NIE POWINIENEŚ UŻYWAĆ obrazów uruchamiania. WYKORZYSTANIE Launch Screen.storyboardzamiast
onmyway133

Odpowiedzi:


186

Korzystając z obrazów uruchamiania (zamiast o wiele łatwiejszego pliku ekranu uruchamiania), musisz zapewnić odpowiedni rozmiar obrazu uruchamiania dla każdego rozmiaru urządzenia, które chcesz obsługiwać. Po dodaniu dodatkowego obrazu uruchamiania aplikacja powinna korzystać z nowego rozmiaru ekranu.

Nowy iPhone X wymaga obrazu startowego o wymiarach 1125px × 2436px, czyli 3x dla 375pt × 812pkt.

Oczywiście, jeśli przełączysz się na używanie pliku ekranu uruchamiania zamiast pojedynczych obrazów uruchamiania, Twoja aplikacja automatycznie dostosuje się do wszystkich rozmiarów urządzeń bez dodatkowej pracy.


2
czy możesz bardziej szczegółowo opisać, jak zintegrować nowy obraz iphoneX z ekranem uruchamiania? Żadne zestawy obrazów, które dodam do Xcode 9, nie mają gniazd iphoneX, tylko zestawy obrazów uruchamiania.
Christian Cerri,

1
Zestawy obrazów @ChristianCerri nie są powiązane z urządzeniami. Dają ci tylko opcje 1x, 2x i 3x. Miałem na myśli uruchamianie obrazów. To jedyne obrazy specyficzne dla urządzenia. Jeśli masz pytanie dotyczące dodawania obrazów o różnych rozmiarach do ekranu uruchamiania, prześlij własne pytanie dotyczące tego problemu.
rmaddy

19
Jak do diabła uruchamiać obrazy związane z czarnym paskiem na górze i na dole symulatora iPhone'a X ??!
TomSawyer

1
@TomSawyer Jeśli Twoja aplikacja nie korzysta ze scenorysu ekranu uruchamiania, obrazy uruchamiania określają, jakie rozmiary ekranu obsługuje aplikacja.
rmaddy,

1
Zobacz odpowiedź od @sabiland, jeśli nadal widzisz czarne paski i używasz ekranu uruchamiania. Byłoby wspaniale, gdyby tę odpowiedź można było uzupełnić ciekawostką o tym, jak prawidłowo zaprojektować ekran uruchamiania dla iPhone'a X.
Crashalot

36

Rozwiązałem ten problem w iPhonie X. Uruchom rozmiar obrazu (1125 * 2436px) Wykonaj poniższe kroki. 1.i) Wybierz nazwę projektu w Xcode. ii) Wybierz cel projektu iii) Następnie wybierz Źródło obrazów uruchom wprowadź opis obrazu tutaj

  1. Możesz wyświetlić wyskakujące okienko Migrate i) Wybierz zasoby ii) Wybierz opcję Migruj

wprowadź opis obrazu tutaj

  1. Następnie wybierz plik Assets.xcassets w swoim projekcie wprowadź opis obrazu tutaj

  2. Następnie wybierz Uruchom obraz w zasobach i) Następnie wybierz Inspektor atrybutówwprowadź opis obrazu tutaj

  3. na koniec sprawdź źródło obrazu uruchamiania. możesz zobaczyć zestaw Uruchom obraz.

wprowadź opis obrazu tutaj


Głos za zdjęciami. Ale powinieneś wyczyścić tekst „LaunchScreen” z pola tekstowego Launch Screen File na ostatnim obrazie.
NadtheVlad

Dziękuję @NadtheVlad. Wyczyść tekst „LaunchScreen” z pliku ekranu uruchamiania i usuń plik LaunchScreen.Storyboard z Xcode.
Karthickkck

Dzięki! To było poziome pole wyboru z Launch Image, które powodowało problem, ponieważ moja aplikacja jest tylko pionowa.
green0range

Dziękuję, miałam ten sam problem i rozwiązałam go, dodając obrazy startowe (aplikacja SDL2)
Viktor Sehr


14

Dowiedziałem się, jak to naprawić (chociaż nadal nie rozumiem, dlaczego stało się to tylko na iPhonie X) Scenorys LaunchScreen na iPhonie X z czarnymi górnymi i dolnymi paskami.

Mam scenorys LaunchScreen z jednym UIImageView.

UIImageView w góry i na dole musi być przypięty do Superview na górze i dole . NIE do SafeArea .


To rozwiązało mój problem z LauchScreen z Autolayout. Ale zamiast przypiąć do krawędzi, wyśrodkowałem w poziomie i w pionie i zrównałem szerokość / wysokość z SuperView.
Yuri Natividade

Działało to tylko po przypięciu widoków w innych scenorysach do widoku góra / dół, w przeciwieństwie do prowadnic układu. Pamiętaj, aby sprawdzić scenorysy w trybie iPhone X.
Crashalot

dlaczego nie widzę superwizji w moim storyboardzie, kiedy idę dać to ograniczenie
rd_

10

Naprawiłem to, po prostu wstawiając jakiś losowy tekst w pole tekstowe Lanch Screen File. Nie mam nawet pliku ekranu uruchamiania ... XCode jest tak wadliwy.

aktualizacja

Chociaż rozwiązuje to problem w symulatorze (nadal jest to bardzo dziwne i nieoczekiwane), podczas przesyłania pliku binarnego do iTunes Connect zakończy się niepowodzeniem z powodu braku znalezienia pliku LanchScreen o nazwie „losowa-nazwa”


Dobrze działa na iPhone X. ale to nie działa dla żadnych innych urządzeń, bracie.
Govaadiyo

Tak tak! rozwiązuje to problem w xcode. Dzięki! To wystarczy do testów. Kupi prawdziwego iPhone'a X, aby uniknąć problemu z Xcode w przyszłości do testowania.
Phyllis Sutherland

5

Właśnie natknąłem się na to, próbując zaktualizować aplikację, nad którą nie pracowałem od jakiegoś czasu.

W Xcode 9.4 udało mi się to naprawić, wykonując następujące czynności:

  1. Dodaj ekran uruchamiania, przechodząc do Plik -> Nowy -> Plik ... -> Ekran uruchamiania

wprowadź opis obrazu tutaj

  1. Upewnij się, że nowo dodany scenorys ekranu uruchamiania jest wybrany jako plik ekranu uruchamiania w ustawieniach projektu.

wprowadź opis obrazu tutaj


1

Jeśli masz już obraz startowy o wymiarach 1125 pikseli × 2436 pikseli, ale aplikacja nadal nie korzysta z pełnego ekranu, sprawdź, czy obraz jest w formacie PNG.


1

jeśli usunąłeś LaunchScreen.storyboard; Wybierz swój projekt, wybierz cel projektu, Ogólne -> Ikony aplikacji i uruchom obrazy -> Uruchom plik ekranu: Wybierz tutaj Main.storyboard zamiast LaunchScreen.storyboard


1

Właśnie miałem ten problem ... Kiedy wybrałem projekt i właściwy cel, miałem puste miejsce na „plik ekranu uruchamiania” pod ikonami aplikacji i zakładką obrazów ekranu uruchamiania. Ustawiłem go na domyślny LaunchScreen i rozwiązano problem zmiany rozmiaru, z którym miałem do czynienia.


0

Możesz sprawdzić, czy docelowy plik ekranu uruchamiania projektu nie jest ustawiony jako pusty, jeśli jest pusty, może to spowodować problem.wprowadź opis obrazu tutaj


wybierz Laaunchscreen.storyboard w celu ogólnym i rozwiązałem problem.
Aqib Zareen
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.