2017-06-18 125 views
0

我有一個佈局約束一個UIView,讓我們說是這樣的:移動視圖與佈局約束

███|███ ¯¯¯¯¯¯¯¯\ 
███|███   \ 
██▒▒▒██ ← View > ViewController 
███|███  /
███|███  /
███|███ _______/ 

問題是,我想這個視圖到ViewController外界開始,然後動畫移動到原來的位置,像這樣:

[1]   [2]   [3]   [4]   [5] 
    ▒▒▒    ↓    ↓    ↓ 
    ███████  ██▒▒▒██  ███↓███  ███↓███  ███|███ 
    ███████  ███████  ██▒▒▒██  ███↓███  ███|███ 
    ███████  ███████  ███████  ██▒▒▒██  ██▒▒▒██ 
    ███████  ███████  ███████  ███████  ███|███ 
    ███████  ███████  ███████  ███████  ███|███ 
    ███████  ███████  ███████  ███████  ███|███ 

簡單地說,它不是任何地方移動,因爲約束,但我不希望刪除的約束,因爲每個人的約束依賴於它。我應該怎麼做才能像我想要的那樣移動它?

+0

您能更具體地瞭解您的約束條件(之前和之後以及任何其他相關狀態)嗎? – jcaron

+0

此特定視圖在ViewController的視圖上水平居中,並與上面另一視圖中的視圖具有垂直距離。在這個動作中,如果這些信息有幫助,每個人都是隱藏的。 – Daniel

回答

0

創建頂部約束的出口。如果要運行動畫,請將頂部約束的constant設置爲所需的最終值,然後在動畫塊中簡單地調用layoutIfNeeded()