2016-03-01 59 views
0

在我的應用程序中,我目前正在研究一個功能,其中按鈕點擊時,屏幕頂部附近的視圖向下延伸以填充屏幕(邊緣有間隙)。視圖最初大約有40個點,當它延伸時,它從視圖的底部延伸到20個點。在可變框架的視圖中添加子視圖

我想弄清楚在這個視圖中處理UI的最佳方式,因爲它的小形式只包含一個按鈕和一個ImageView,但是當它展開時它還包含標籤,scrollview和其他圖像視圖。

我應該使用一個xib,然後我可以將框架設置爲與展開視圖相同或某種容器視圖?

如果我能避免它,我想避免以編程方式創建佈局。

任何人有任何建議嗎?

+0

您使用的故事板,自動佈局,大小班?這是一個可重複使用的控件還是一次性的東西 – JordanC

+0

是的,故事板和自動佈局。是的,我應該提到它會被多次使用(我有大約10個顯示不同數據的按鈕)。 – user3746428

回答

1

儘管有許多方法可以完成視覺要求,但無論您是使用故事板還是使用.xib文件,Autolayout都可能是最簡單的管理方法。儘管您可以用這種方式定義佈局,但您可能需要在運行時對其進行修改。

例如,你可能會爲您的視圖中創建兩個約束:

1)添加一個高度約束你的觀點與大於或等於40

2)添加一個垂直的值從視圖底部到視圖控制器的底部佈局指南的間距約束。使此約束成爲IBOutlet,以便稍後可以在代碼中對其進行修改。

使用Autolayout,您需要確保佈局對視圖的大小和位置沒有歧義,因此您還應該爲視圖的頂部,左側和右側相對位置創建約束。

當它是適當延長你的看法,實現一個功能或IBAction爲將修改的約束,使得其.constant值爲20

+0

謝謝!這肯定有幫助。我正在跟蹤目前的情況,但我不確定它是否可行。它現在完美。只有我做了與你所建議的不同的是沒有指定高度限制。 – user3746428