2012-07-27 4 views
9

Mam układ działający dobrze w scenopisie Xcode dla aplikacji dzielenia Master-Detail, ale kiedy uruchomię go w Symulatorze lub na rzeczywistym urządzeniu, wygląda na to, że jest trochę pomieszany i mam nie mam pojęcia dlaczego.Układ Xcode nie pojawia się poprawnie w symulatorze lub rzeczywistym urządzeniu

Obraz w Xcode wygląda tak;

Xcode Looking Fine

Układ w symulatorze i Urządzenie wygląda tak

Messed up image

+0

Mam też problemy z picker jest na XCode 5.1.1. Ale jest to problem wysokości wzorca, a nie szerokość ... – Borzh

Odpowiedz

9

To prawie na pewno problem z ustawieniami automatycznej zmiany swoich subviews (aka "Sprężyny i Struts").

Budujesz aplikację opartą na UISplitViewController. Zwróć uwagę, że wymiary ramki widoku kontrolera widoku szczegółowego różnią się, gdy aplikacja działa w trybie portretu i krajobrazu. Na powyższym zrzucie storyboardu widzisz ramę wielkości pejzażu. Zrzut ekranu z symulatora pokazuje ramkę rozmiaru pionowego. Musisz ustawić rozpórki i sprężyny swoich subskrybentów (UIPickerView, szczotkowane metalowe przyciski, białe pole poniżej, itp.), Aby te elementy zmieniły rozmiar (lub nie) i utrzymać względną (lub absolutną) pozycję w rodzicu widok.

Najprostszym sposobem, aby to zrobić, jest ustawienie wartości w scenorysie przy użyciu Inspektora rozmiarów w prawej kolumnie. Wybierz, który element chcesz zmienić ustawienia, a następnie spojrzeć na to:

enter image description here

Klikając na czerwone strzałki wewnątrz skrzynki wewnętrznej można włączyć/wyłączyć „źródła”, czyli określić, czy podrzędny rozwija się, gdy widok nadrzędny rozszerza się lub zachowuje swój pierwotny rozmiar, kiedy to nastąpi. Klikając na zewnętrzne czerwone I-bary, będziesz włączał/wyłączał "rozpórki", które decydują, czy podkauk będzie utrzymywał stałą odległość od krawędzi widoku rodzica, gdy zmieni się rozmiar widoku rodzica. Ustawienie odpowiedniej kombinacji sprawi, że Twój widok będzie wyglądał poprawnie zarówno w orientacji pionowej, jak i poziomej.

Możesz również zmienić te ustawienia programowo w swoim kodzie, ustawiając właściwość widoku na widok autoresizingMask. Patrz na odniesienie:

http://developer.apple.com/library/ios/DOCUMENTATION/WindowsViews/Conceptual/ViewPG_iPhoneOS/CreatingViews/CreatingViews.html#//apple_ref/doc/uid/TP40009503-CH5-SW5

Powiązane problemy