左側是佈局的正常狀態。右側是佈局的展開狀態。如何解決這個帶有約束的自動佈局「謎題」?
我的問題是,我無法弄清楚如何保持粉紅色的盒子在它們的單元格中間,並且綠色的線條連接在粉紅色的盒子之間,隨着佈局在任何方向上的增長。 只有這兩種觀點的AutoSizing.xib可以在這裏找到:https://dl.dropboxusercontent.com/u/6979623/AutoSizing.xib
左側是佈局的正常狀態。右側是佈局的展開狀態。如何解決這個帶有約束的自動佈局「謎題」?
我的問題是,我無法弄清楚如何保持粉紅色的盒子在它們的單元格中間,並且綠色的線條連接在粉紅色的盒子之間,隨着佈局在任何方向上的增長。 只有這兩種觀點的AutoSizing.xib可以在這裏找到:https://dl.dropboxusercontent.com/u/6979623/AutoSizing.xib
有兩種方法來保持超圖的四個象限中居中的粉紅色框:
您可以添加四個甚至分裂了這個主視圖的四個象限(使用約束將它們固定到它們各自的角落以及使其具有相同寬度和高度的另一組約束)的無形視圖。如果我要代表在VFL(只是因爲它是代表所有的這些約束條件的簡潔的方式),這可能是這樣的:
H:|[quadrant1][quadrant2(==quadrant1)]|
H:|[quadrant3(==quadrant1)][quadrant4(==quadrant1)]|
V:|[quadrant1][quadrant3(==quadrant1)]|
V:|[quadrant2(==quadrant1)][quadrant4(==quadrant1)]|
然後,您可以居中粉色觀點在每個中心這四個象限意見。
您可以添加中心約束,使用乘數來抵消它們的共享超級視圖中的這些粉紅色方塊。 Interface Builder最近纔得到了倍增支持,並且它並不是超穩定的,在我看來,所以當我想要使用乘法器時,我常常會回頭添加這些程序。
一旦有了正確地佈置的粉紅色框,然後將它們之間的綠色線被簡單地固定間距領先/或分別頂部/底部爲水平或垂直線,尾隨。將它與固定寬度和中心對齊結合起來就完成了。底線,照顧粉盒的位置,如上所述,然後創建綠線變得非常容易。
作爲第三種選擇,如果在主視圖中居中放置一個隱形框(寬度和高度等於超視圖的一半),粉色框固定在其角上? – rdelmar 2014-11-02 04:55:56
是的,很多方法來給這隻貓皮... – Rob 2014-11-02 05:08:02
Thx所有答案! – StackUnderflow 2014-11-04 22:01:41