[英]Floating view into second row with autolayout
號有沒有辦法在故事板自動漂浮到一個新行,如果他們不屬於同一行設置的意見和約束。
(我認為這是自動版式系統的一大弱點。)
其原因在於約束的概念:在數學上,它們表示線性方程 ,通常對於x和y維是獨立的 。 唯一的例外是寬高比約束,這些約束將視圖的寬度與該(或另一個)視圖的高度聯系起來。 但是我想不出一種方法,如何在需要時使用寬高比約束將視圖分成新的一行。
當系統在運行時解決您的約束並計算視圖的實際框架時,它只需為每個維度(或兩個維度(如果存在寬高比約束))求解線性方程組。 在自動布局系統中添加浮動視圖選項會使整個布局過程變得更加復雜,因為您不能將這種行為描述為簡單的線性方程式。
(堆棧視圖也無濟於事,因為它們也只適用於一個維度:x或y。)
最近,我需要與您描述的非常相同的浮動行為,並創建了UIView
的FloatingContainerView
子類。 我對其進行了概括,因此您可以將其用於任何視圖並將其翻譯成Swift。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.