2017-07-22 38 views
10

Próbuję utworzyć niestandardową podklasę UITableViewCell wyświetlający obraz i kilka etykiet po prawej stronie obrazu. Mam UIImageView i UILabels ułożone w stos, z widokiem na najbardziej oddalonych której przypięty do wszystkich czterech stron zawartości widoku. Screenshot of storyboard Screenshot of constraintsDlaczego wiązania Autolayout nie mogą pojawiać się w środowisku wykonawczym?

Ale kiedy uruchomić aplikację w symulatorze, nie widzę poglądy graficznych. Debugowanie hierarchii widoków, widzę, że są one przycinane. Screenshot of view hierarchy

i kopanie w trochę dalej, koncentrując się na najbardziej zewnętrznej widoku stosu z „Pokaż Ograniczeń” On nie widzę moich ograniczeń układu auto w ogóle (a nie pojawia się ostrzeżenie niejednoznaczne stanowisko wykonania dla każdego z widoki najbardziej oddalonych stosów). Screenshot of view hierarchy focused on stack view

Etykieta tekst, który rozszerza się w prawo jest skonfigurowana z 0 liniami i widok tabeli pobiera stałą estimatedRowHeight wartości i jego rowHeight zestaw do UITableViewAutomaticDimension, więc myślę, że jeśli te ograniczenia pracowali, wiersze w tabeli dopasuje rozmiar do zawartości. Być może w szczególności, każda szerokość lub układ automatycznego wysokość ograniczenie dodam wydaje kiedy debugowania hierarchię widzenia, więc wiem, że pewne ograniczenia są obecne w czasie wykonywania, po prostu nie mogę dla życia mnie dowiedzieć się, dlaczego ograniczenia w stosunku do zawartości widoku są nie.

+0

Czy któreś z tych ograniczeń Twego contentView? – solenoid

+0

Uważam, że wszystkie są - Po ich utworzeniu upewniłem się, aby ctrl + przeciągnąć do widoku zawartości. – John

+0

Ponadto, powinienem zauważyć, że wszystkie są "zainstalowane" i żadne nie są "zastępcze" ograniczenia. – John

Odpowiedz

3

Po zmaga się z tym od dłuższego czasu i ma dużo bardziej doświadczony developer spojrzeć na mojego projektu, wydaje się, jakby nie było nic złego w sposób, w jaki został ustanowiony. Ponowne odtworzenie komórki widoku tabeli od zera z dokładnie tym samym układem i ograniczeniami oraz użycie tego samego kodu rozwiązało ten problem. Zanim zaczęło się to dziać, miałem problemy z widokami i ograniczeniami stosu, więc możliwe jest umieszczenie Xcode w miejscu, w którym nie ustawi się poprawnie ograniczeń po uruchomieniu aplikacji w symulatorze.

2

Spróbuj rozwiązać wszystkie ostrzeżenia, które są drukowane w dzienniku konsoli po uruchomieniu aplikacji i oglądania tego ekranu. Ponieważ nie można zignorować ostrzeżeń zawsze, wiele ostrzeżeń należy usunąć, poprawiając lub rozwiązując problemy w swoim ograniczeniu. I to jest jedyne rozwiązanie, które pomaga ci przez większość czasu.