2012-07-09 19 views
4

我試圖仿效在Readability應用程序中看到的滑動UIViewController。您可以將頁面拖動到右側,並將當前視圖從堆棧中彈出,以便像圖像一樣通過滑動動畫返回到父級UIViewController:最右側的視圖位於頂部,並且正在拖動右側顯示原來的桌子在左邊。將UIViewController滑動到彈出狀態 - 就像在Readability應用程序中一樣

view being slided to the right

我試過幾個slidingUIViewController解決方案,如ECSlidingViewController,但他們試圖效仿的另一個其中的頂部部分滑動slidingUIViewController了Facebook /路徑的行爲是可讀性沒有什麼。

我也嘗試了一個標準的水平滾動UIScrollView,但滾動喜歡頁面在兩側連接,而不是將一個視圖滑過另一個視圖。

有誰知道他們是怎麼做到的?

+0

這不是UIPageViewController的設計目的嗎?它將開箱即用。 – Fogmeister 2013-02-20 13:11:10

回答

0

這可以通過幾個步驟輕鬆完成。我不會寫下你需要編寫的所有代碼,而只是需要執行的步驟。我將使用主要細節術語,其中主要視圖是您想要顯示詳細信息視圖的主要視圖,詳細信息視圖當然是導航堆棧頂部的視圖。

當你想呈現的細節視圖:

1)創建處理與該的DetailView相互作用的UIViewController的一個實例。在iOS 5+上,您可以將此實例存儲在master的viewController的childrenViewControllers @property中。如果您支持較低的操作系統,則應將實例存儲在ivar中。

2)將detailView的框架設置在屏幕邊界之外;爲了圖形目的添加detailView陰影。最後添加detailView作爲masterView的子視圖。 3)(可選)在detailView中添加一個平移手勢識別器,以允許用戶向後滑動視圖並將其解除。

4)在屏幕邊界上爲detailView設置動畫效果。確保與下面的觀點的相互作用禁用

當你想放棄的細節視圖(注意不要同時禁用與DetailsView控件的交互!):

1)動畫的DetailView屏幕的邊界之外。

2)從它的超級視圖中刪除它,並刪除它的viewController的引用。

3)重新啓用用戶與主視圖的交互。

相關問題