Co usiłuję osiągnąć
chcę mieć dwa widoki równej wysokości ustawione pionowo do wszystkich regularnych Heights. Jednak w przypadku Compact Heights chcę, aby widoki były ułożone poziomo. Jest to przedstawione na poniższym obrazie:Jak naprawić brakujące/sprzecznych ograniczeń dla wAny Hany przy użyciu różnych klas wielkości
Aby to zrobić, dodałem ogólnych ograniczeń w klasie wielkości wAny-Hany, które mają zastosowanie do wszystkiego. Następnie dodałem określone ograniczenia dla klas wielkości wAny-hRegular i wAny-hCompact. To zadziałało dobrze dla wAny-hRegular i wAny-hCompact (i dla testowania aplikacji w symulatorze), ale pozostawiło mnie z brakującymi ograniczeniami w WAny-hAny. Jeśli dodam brakujące więzy w WAny-hAny, wtedy dostaję sprzeczne ograniczenia w WAny-hRegular lub wAny-hCompact. Nie wiem, jak pozbyć się błędów.
Poniżej znajduje się bardziej szczegółowe wyjaśnienie, co dokładnie zrobiłem.
Jak starałem się zrobić to
udało mi się dostać coś, co działa w symulatorze, wykonując następujące kroki.
wAny Hany
Dla dowolnej szerokości dowolnej wysokości ustawić 4 następujące ograniczenia:
To znaczy, ja przypięte niebieskiego na górze i po lewej stronie Przygwoździłem czerwoną na prawo i na dole. Bez względu na to, jaka klasa wielkości jest używana, te ograniczenia są zawsze potrzebne.
wAny hRegular
Dla dowolnej szerokości Regular Wysokość dodałem 4 następujące ograniczenia:
To znaczy, ja przypięte niebieski w prawo i czerwony do lewo. Również przypięłam górną krawędź czerwonej do dolnej krawędzi niebieskiego. I zrobiłem czerwień i błękit równych wysokości. To rozwiązuje wszystkie problemy związane z więzami dla regularnej wysokości.
wAny hCompact
Dla dowolnej szerokości Compact Wysokość dodałem 4 następujące ograniczenia:
To znaczy, ja przypięte niebieskiego na dole i czerwony do szczyt. Również przypięłam prawą krawędź czerwonego do lewego brzegu niebieskiego. I zrobiłem czerwony i niebieski równej szerokości. To dba o wszystkie problemy z ograniczeniami dotyczące zwartej wysokości.
Problem
Z powyższej konfiguracji wszystko działa tak jak powinno w Storyboard podglądu (patrz wyżej pierwsze zdjęcie) oraz w symulatorze dla wszystkich rozmiarów, które ja testowałem.
Jednak w Builder interfejsu otrzymuję następujące brakujące błędy ograniczenie dla wAny Hany Wielkość klas:
To trochę Catch-22, bo gdy próbuję dodać brakujące ograniczenia tworzą następnie sprzeczne ograniczenia z ograniczeniami klasycznej lub zwartej klasy. Oto Compact jako przykład:
Jak mogę rozwiązać ten problem?
Masz rację. Musiałem tylko ustawić wszystkie ograniczenia AnyAny, a następnie dodać specjalne ograniczenia w AnyCompact. Następnie odinstalowuję sprzeczne ograniczenia w AnyCompact. Aby usunąć ograniczenia, musiałem przestudiować odpowiedź @ AkshaySunderwani (np. Dokumentacja). Nie mogłem po prostu odznaczyć 'zainstalowany', ponieważ to by go odinstalowało dla każdej klasy wielkości. Musiałem dodać określoną klasę wielkości (AnyCompact) w inspektorze ograniczeń, a następnie odinstalować ją. – Suragch