2014-07-01 12 views
10

Próbuję zaprojektować widok dla aplikacji na iPhone'a iOS 7 za pomocą Xcode 5.1.1. Wybieram port iPhone 4s i port 5+. Tu jest mój widok:iOS 7 Układ automatyczny Pozycja Y/wysokość Brakujące wiązanie

View with problems

Celem tego punktu widzenia jest pełnienie funkcji głównego menu dla aplikacji. ImageView to logo aplikacji, a każdy przycisk to opcja. Kłopot, jaki mam, polega na tym, że próbuję uzyskać odpowiednie ograniczenia na widokach, aby wszystko zmniejszyło się pod względem wysokości z iPhone'a 5 do 4s. Bez względu na to, jaką kombinację próbuję, zawsze kończę słowami "Need constraints for: Y position or height". w obszarze Brakujące ograniczenia i niewłaściwej wysokości w Niewłaściwym widoku dla obrazu i wszystkich przycisków.

Jeśli spróbuję użyć "Dodaj brakujące więzy", Xcode sprawia, że ​​wysokość wszystkich przycisków jest taka sama, z wyjątkiem ostatniego przycisku. Ostatni przycisk zmniejsza się do tekstu.

Czego mi brakuje, aby działało poprawnie? Dzięki!!

EDIT: W oparciu o informacje zwrotne, Mam następujące ograniczenia:

zdjęcie Zobacz: podpięty do górnej/dolnej/przednia/dolna Superview. Przypięty wzrost. Spacja od dołu do żółtego przycisku

Wszystkie przyciski: o jednakowej wysokości względem siebie. Opierając się na wygenerowanych ograniczeniach, wydaje się, że wszystkie pozostałe przyciski wyglądają na wysokość żółtego przycisku.

żółty przycisk: Najlepsza Przestrzeń do Image View, doczepiany/wiodąca Space Superview, Dół Space Red Button

Red Button: Top Space żółty przycisk, doczepiany/wiodąca Space Superview, Dół Space Zielona Buttona

Green Button: Najlepsza Przestrzeń na czerwony przycisk, doczepiany/wiodąca space Superview, Dół space Brown Buttona

Brown Przycisk: Najlepsza Przestrzeń do zielonego przycisku, doczepiany/wiodąca space Superview, Dół space pomarańczowy przycisk

Pomarańczowy przycisk: górna spacja do brązowego przycisku, sprowadzająca/prowadząca/spodnia przestrzeń, aby uzyskać wspaniały widok

Jeśli to zrobię, wszystko wygląda dobrze w widoku 4 "w siatkówce. Jeśli przełączyłem go na widok 3.5 "wszystko wygląda dobrze i działa dobrze w symulatorze.Jeśli przełączę go z powrotem na widok 4", wszystkie przyciski oprócz żółtego zostają zgubione z nieco mniejszą wysokością:

Messed up heights

Nie jestem pewien, co jest przyczyną. Mogę również przesłać kopię mojego projektu Xcode, jeśli to pomoże.

+1

Dodaj góry do dołu, ImageView na ostatni guzik, a następnie wybierz widok którego chcesz się kurczyć i dodać „równej wysokości” do każdego z nich. –

+0

Generalnie unikam przycisku Dodaj brakujące ograniczenia, robi to, co uważa za najlepsze, a mniej więcej połowa czasu robi to źle lub dodaje więcej, niż musi. Najlepiej usunąć wszystkie edytory wiązań -> rozwiązać problemy z automatycznym układem -> usunąć wszystkie więzy i zacząć od nowa. Jeśli/kiedy skargi Xcode decydują o tym, czy chcesz Xcode zaktualizować ramkę lub zaktualizować ograniczenie. Przeczytaj błąd, poinformuje Cię, czego brakuje, a następnie doda go sam. – Brandon

Odpowiedz

8

Wygląda na to, że chcesz, aby wysokość wszystkich przycisków była równa, wygląda również na to, że widok obrazu ma również znaną wysokość. To powinno działać:

1: Przypnij wszystkie elementy 0 pikseli od góry, z lewej strony, z prawej i z dołu widoku obok nich. Dla przycisków będzie to przycisk powyżej i poniżej na osi y oraz widok super na osi X.
2: określ wysokość obrazu.
3: kliknij polecenie i wybierz wszystkie kolorowe przyciski i przypnij ich wysokości równo. Edytor -> Przypnij -> Wysokości Równy.

Ponieważ autolayout wie, gdzie zaczyna się widok obrazu (0 pikseli od góry superwizja) i zna wysokość, będzie wiedział, gdzie umieścić górną część żółtego przycisku. Na dole wie, że pomarańczowy przycisk należy przypiąć do dołu. Jedyne, co pozostało w Autolayout, aby dowiedzieć się, jak wysoki powinien być każdy przycisk, co zrobi w oparciu o ograniczenie o jednakowej wysokości.

Edit - bardziej szczegółowe instrukcje z ekranu

Dla krok 1 wybierz górną ImageView i wybierz edytor -> pin -> a następnie po jednym na raz dodać czołowym (ogólnie w lewo w większości języków), na końcu górę i na dole. Jak widać poniżej lub możesz użyć przycisku na dole, lub możesz użyć przycisku pinezki (6 z prawej) na dole, aby dodać je hurtowo. Sugeruję użycie przycisku pinezki, jest to szybsze. kliknij małe przerywane linie, aby wybrać ograniczenie, które chcesz dodać.

enter image description here enter image description here

Krok 3 pin szczyty równo więc wybrać wszystkie kolorowe widoki i przypiąć Wysokości równe. Ponieważ górny element (widok obrazu) jest uniesiony do góry i ma znaną wysokość, a spód jest przypięty do dolnej części ekranu, pozostałe widoki stają się fałdami akordeonu, rozciągają się i kurczą, aby wypełnić resztę dostępnej przestrzeni. Ograniczenie o równej szerokości zapewnia, że ​​wygląda prawidłowo. Bez tego niektóre z nich są wielorakimi rozwiązaniami dla tego, jak duży powinien być każdy widok, więc prawdopodobnie skończysz z niewielkimi, dużymi i niektórymi, które mogą nie być widoczne.

enter image description here

+0

Czy możesz opisać krok 1 bardziej szczegółowo? Trudno mi jest podążać za tym krokiem. – Joshua

+0

Zaktualizowany obrazkami i dodatkowymi opisami – Brandon

+0

Dzięki za zdjęcia i pomoc. Zaktualizowałem pierwotny problem, dodając kolejne pytanie/problem. – Joshua

Powiązane problemy