2014-01-17 46 views
0

時,我有一個按鈕,並在它的單擊事件,我想插入UIView。我知道如何插入UIView但是我不能夠推動/移動是低於它的其他UIView's,這樣我可以適應加入UIView如何移動/推其他uiviews插入一個新的UIView

我已經看過這個link但它不會成爲我的目的

有什麼建議?

+0

這取決於。你在使用自動佈局,還是使用struts-and-springs?對於不同的佈局方式,答案是完全不同的。 –

+0

我將以編程方式將按鈕單擊事件插入UIView – Vishnu

+0

這不是我問的。你正在使用自動佈局或支柱和彈簧。如何做到這一點的答案是完全不同的,這取決於你的答案。 –

回答

1

在按鈕的方法創建新的視圖,並將其添加作爲一個子視圖。將frame.origin.x設置爲0減去視圖的寬度(如果您希望它從左邊推),以便它不可見,並將該值更改爲您要在[UIView animateWithDuration:animations:]內部的位置。

[UIView animateWithDuration:1.0 animations:^(void){ 
    [newView setFrame:({ 
     CGRect frame = newView.frame; 
     frame.origin.x = 150; // If you want it to start at x = 150 
     frame; 
    })]; 

    // If you want to move other views too, just add them in this block 
}]; 

如果你沒有得到我做設置框,在此post檢查出的第一個技巧是什麼。

+0

如果插入新視圖,我想向下推送已經存在的相對視圖。 – Vishnu

+1

您可以將它們添加到塊中。試試這個代碼,讓我知道它是否工作。 – yoeriboven

+0

如果OP使用自動佈局,則該代碼將不起作用。您必須操縱約束而不是移動對象的框架/中心。此外,即使不使用自動佈局,最好操作視圖的中心屬性也不如框架,因爲如果視圖具有修改的變換,則框架屬性不起作用。 –

相關問題