當我試圖實現
我想對所有普通高地垂直排列的高度相等的兩個視圖來修復丟失/衝突的約束爲溫妮HANY。但是,對於Compact Heights,我希望水平排列視圖。這是如下圖所示:如何使用不同尺寸的類
要做到這一點,我在適用於一切溫妮 - 哈尼尺寸級別添加一般的約束。然後我爲wAny-hRegular和wAny-hCompact大小類添加了特定約束。這對wAny-hRegular和wAny-hCompact(以及用於在模擬器中測試應用程序)的工作正常,但它在wAny-hAny中留下了缺少約束條件。如果我在wAny-hAny中添加這些缺失的約束,那麼我會在wAny-hRegular或wAny-hCompact中得到衝突約束。我不知道如何擺脫錯誤。
下面是對我所做的更詳細的解釋。
我如何試圖做到這一點
我能得到的東西,通過執行以下步驟在模擬器中工作。
溫妮HANY
對於任何寬度任何高度我設置了以下4個約束:
也就是說,我寄託藍色頂部和左,我把紅色固定在右邊和底部。無論使用什麼尺寸的類,總是需要這些約束。
溫妮hRegular
對於任何寬度常規高度我增加了以下4個約束:
也就是說,我寄託藍色的權利和紅色左邊。我還將紅色的上邊緣固定在藍色的底邊。我做了紅藍相等的高度。這解決了常規高度的所有約束問題。
溫妮hCompact
對於任何寬度緊湊高度I增加了以下4個約束:
即,我釘扎藍色至底部和紅色到頂端。我也把紅色的右邊緣固定在藍色的左邊緣。我做了紅色和藍色的等寬。這需要處理緊湊高度的所有約束問題。
的問題
通過以上的設置一切正常,因爲它應該在故事板預覽(見上第一圖像),並在模擬器,我測試了所有尺寸。
然而,在界面生成器,我得到以下缺失約束錯誤的溫妮HANY尺寸級別:
這是一個有點左右爲難,因爲如果我嘗試添加缺少的約束然後我創建衝突的規則或緊湊尺寸類約束。下面是緊湊型爲例:
我該如何解決這個問題?
你說得對。我只需要在AnyAny中設置所有約束,然後在AnyCompact中添加特殊約束。之後,我卸載AnyCompact中衝突的約束。爲了卸載約束,我必須更多地學習@ AkshaySunderwani的答案(即文檔)。我不能只是取消選擇「安裝」,因爲它會爲每個大小類別卸載它。我必須在約束檢查器中添加特定的大小類(AnyCompact),然後將其卸載。 – Suragch