2016-09-24 51 views
14

Odkąd zaktualizowaniu mojego projektu Swift Swift 2.3 i Xcode 8 (wersja release) nie mogę dostać mój Interfejs zrobić już ...Interfejs Układ Builder ograniczenia problem, ponieważ Xcode 8

enter image description here

I idealnie dopasowuję wszystkie ograniczenia. Wszystko dziala. Ponownie otwieram Xcode następnego dnia i wszystkie moje widoki wyglądają tak.

także Dostaję mnóstwo ostrzeżeń ...

enter image description here

Jeśli kliknę Update Frame, ostrzeżenie znika i ponownie Zobacz wygląda normalnie. Ale jak tylko ponownie uruchomić Xcode (lub czasem nawet po prostu zbudować projekt) to cofnąć ponownie ...

enter image description here

Ważne: wszystkie widoki doskonały wygląd i jak chciał wewnątrz wszelkich urządzeń, ale to naprawdę trudno utrzymać przegląd.

Spędziłem całą noc zastępując wszystkie elementy mojego obecnego projektu. Wszystko było w porządku bez ostrzeżeń. Następny dzień. Ostrzeżenia się cofnęły, a ja dosłownie nic nie zmieniłem ... Jak się tego pozbyć? Pomoc jest bardzo cenna.

enter image description here

mogę "zaktualizować ramkę", wszystko wygląda dobrze ponownie. Po kilku kompilacjach lub najpóźniej po ponownym otwarciu Xcode wygląda to tak samo.

Ostatni przykład: Ekstremalny prosty ekran. UIViewController. UINavigationBar. UITableView. Bez szwów. Jedna prototypowa komórka.

enter image description here

Czy ustawić wszystkie ograniczenia doskonale ostatniej nocy. Ponownie otwarty Xcode. Znajdź to.

Edit:

Sugerowana obejście aby przełączyć żądanego sterownika symulowaną wielkość do Freeform w inspektora, a następnie zaktualizować ramek, to tylko rozwiązanie tymczasowe. Po ponownym otwarciu Xcode wszystkie ostrzeżenia powracają. Mogę zmienić wartość na ustaloną wtedy, wszystkie elementy "pop back" do ich pożądanej pozycji i ostrzeżenia znikną -> ponownie otworzyć Xcode i wszystkie ostrzeżenia są z powrotem, a elementy kontrolera znowu się obracają.

enter image description here

także sugestia, aby zmienić typ pliku storyboard do 7.x nie miał żadnego wpływu. Nacisnąłem 7.x, zapytał mnie, czy chcę się zmienić. Wciśnięty ok. Załadowany. Otworzyłem main.storyboard i zapytałem, w jakim urządzeniu chcę otworzyć scenorys. Wówczas ponownie wybrano Xcode 8.0.

enter image description here

+0

Zdarza się to za każdym razem po ponownym uruchomieniu Xcode? – ArtStyle

+0

zdarza się czasem nawet bez restartu. zachowaj kodowanie ... utrzymuj aplikacje. przejdź do storyboardu kilka minut lub godzin później, a wszystkie ostrzeżenia powracają: –

+0

, ale tak. restart jest gwarancją przywrócenia ostrzeżeń –

Odpowiedz

3

Pracuję nad dużym projektem z wieloma scenorysami i wieloma kontrolerami widoków. Miałem te same problemy na większości z nich. Pomyślałem, że tak się dzieje, ponieważ Xcode obsługuje teraz ograniczenia z wartościami dziesiętnymi.

Oto dylemat pracował dla wszystkich moich UITableViews i UICollectionViews:

1) Wyjąć tylko jeden z „Wzrost wynosi: xx” przymusu z jednym ze swoich poglądów wewnątrz komórki.
2) Zaktualizuj wszystkie ramki.
3) Wybierz widok, z którego usunięto ograniczenie.
4) Kliknij, aby dodać nowy przycisk ograniczenia. Teraz powinien pokazywać nową wysokość, prawdopodobnie z wartością dziesiętną.
5) Dodaj ograniczenie wysokości bez zmiany wartości w polu.

Twój problem powinien zostać rozwiązany teraz dla tej komórki. Powtórz te kroki dla wszystkich komórek, które są zepsute. Mam nadzieję, że to rozwiązanie działa również dla Ciebie. Powodzenia!

+0

spróbuje później później. mam nadzieję, że to działa, ale mam dobre przeczucie, jeśli zadziałało dla ciebie –

+0

Niestety, wydaje się, że to nie pomaga. jeśli wybiorę komórkę i, jak powiedziałeś, usuniesz jedno z ograniczeń wysokości, to tylko jedno ograniczenie wysokości zostanie usunięte. Przywracam go i wróci (nie dziesiętnie).po ponownym otwarciu kodu xcode problemy powracają. także wszystkie inne elementy w tej komórce są nadal zepsute –

+0

, ale nadal będę próbować z twoją sugestią, a za 2 godziny będę mógł ponownie przegłosować. zdobędziesz uprowadzenie przynajmniej na swój trud! –

4

Szybkie obejście: zmienić symulowaną wielkość żądaną kontrolerów do Freeform w inspektora, a następnie zaktualizować ramek.Wygląda na to, że nowe funkcje Xcode 8 IB nie mają wpływu na te formanty :)

+0

mam to. dobrze to robi. ale jaka jest różnica? –

+0

do czego służy ta funkcja? –

+0

i symulowany rozmiar, czy to stary z xcode7 czy jest to coś nowego? –