2013-06-01 14 views
5

Mój problem jest związany z wykorzystaniem autoLayout (słynne);)Autolayout jak obsłużyć zastępstwo w wywiadzie?

Chciałbym zarządzać 2 sytuacje subviews w kontrolerze sam widok tak, że mogę przejść od jednej sytuacji do drugiej (i odwrotnie).

Let me introduce problem z następującym schematem:

Diagram of the same view controller in the 2 situations

Problem polega na tym, że nie mogę zrozumieć, jak wyrazić ograniczenia autolayout interfejs Builder tak, że można łatwo przełączać się z jednej sytuacji do innego. Aby być bardziej precyzyjnym, subviews VIEW_B1 i VIEW_B2 różnią się subviewsami o różnej wysokości.

Już próbuję ukryć podgląd, którego nie chcę oglądać (VIEW_B1 lub VIEW_B2), ale w tym przypadku VIEW_C pozostanie na swojej pozycji Y. Chciałbym, żeby to VIEW_C było przyklejone do VIEW_B * (tego, który nie jest ukryty).

Odpowiedz

2

Ukrywanie widoku nie powoduje usunięcia więzów. Musisz usunąć widok B1 ze swojego podglądu, wstawić B2, a następnie dodać ograniczenia przypinające B2 do widoków powyżej i poniżej.

Jeśli nie chcesz całkowicie usuwać widoku, możesz przechowywać wiązania łączące każdy widok B * z widokami powyżej i pod nim we właściwościach, a następnie po wyłączeniu widoków usuń i dodaj odpowiednie ograniczenia dla superwizji.