2012-02-15 112 views
0

我有一個矩形的菜單樣式的視圖(視圖1)放在窗口的大約100 px下(即窗口上方有空間),並需要動畫下拉內容(視圖2)從視圖1下方出現在屏幕下方。我需要動畫從視圖1的底部邊界開始 - 與iOS 5通知下拉菜單非常相似,除了從下面的特定點開始屏幕。逐漸顯示並從另一個UIView向後滑動UIView

我不能簡單地從關閉屏幕上滑動視圖2中,由於各種原因,我不能覆蓋一個UIView,將隱藏其運動,直到它達到的視圖的下邊緣1.

我已經檢查了這個答案 - Programmatically reveal a UIView - 但我不認爲這是適當的,因爲我想菜單滑動,而不是從靜態起點顯示。而且,正如指出的那樣,我不能用另一種觀點「隱藏」滑動視圖。

如何向下滑動視圖2,使其顯示爲從另一個視圖的下邊界出現,類似於io5通知下拉菜單?

回答

1

在超級視圖中包含兩個子視圖並將其限制爲剪裁。所以你應該有你的超級視圖(讓我們說應用程序窗口),並在其中一個視圖(邊界限制)。我們稱之爲容器視圖。這個容器將起源於任何Y座標,您當前插入的/總是可見的視圖,但它的高度會延伸到足以包含完全展開的「滑動」第三個子視圖。

因此,在您的容器視圖中,您需要將第一個始終可見的視圖(視圖1)放置在座標0x0y處,然後在該視圖下方插入滑動視圖(視圖2),其中框架y偏移爲查看2套,並以足夠的負值通過覆蓋視圖1和容器視圖的剪切邊界完全隱藏它。

用戶拖動(或其他意味着你的使用透露你的「滑」視圖),第三視圖滑出從總是存在視圖下方回落,但始終保持內總體裁剪視圖。中提琴。

+0

工程很棒 - 非常感謝!這種邊界限制的東西對我來說從來沒有太多意義,所以非常感謝澄清。 – beaudrykock 2012-02-16 10:20:54