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.

Darko
źródło
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.

rmaddy
źródło
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

Karthickkck
źródło
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 .

sabiland
źródło
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”

Arbitur
źródło
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

Myxtic
źródło
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.

Blago
źródło
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

Bedri Keskin
źródło
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.

Revanth Matha
źródło
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

Aqib Zareen
źródło
wybierz Laaunchscreen.storyboard w celu ogólnym i rozwiązałem problem.
Aqib Zareen