2011-12-05 12 views
3

我想創建和應用商店中的sonypictures一樣的滾動圖像。用scrollview可以嗎?ScrollView as circle

screenshot

請任何機構幫助me.How我可以創造一個。

+0

簡短的答案是核心動畫和動畫層。你必須等待一個詳細的答案。 –

+0

請給我詳細的答案我會等待。 – azhar

回答

3

我只是仔細看了iCarousel,看起來它的「Cylinder」類型的旋轉木馬應該幾乎是你想要的。

我對歷史的原因原來的答案:

我不知道一個現成的解決方案,所以you'l可能要使用的Core Animation正如其他人指出。然而,像這樣的開源項目,TapKu (TKCoverflowView),iCarouselMBCoverFlowView,所有模仿「封面流程」應該給你一個很好的起點(通過CocoaControls here,herehere找到)。

0

首先,如果您只想要在2D表面上部分顯示左右海報的行爲,就像在iPhone上切換Safari中的選項卡一樣。這將有可能做一個常規的滾動視圖。有許多問題正在討論中,例如paging like safari,iPad document previewpaging uiscrollview,並且它們又會鏈接到其他相關的問題和答案。如果這對你來說是一個好的解決方案,那麼我相信你可以在其中一篇文章中找到你的答案。

但是,如果是3D圓柱體,那麼您將不得不使用第三方框架,否則您將不得不編寫自己的代碼來獲得圓柱體效果。

對於編寫自己的代碼,有兩個方面需要考慮。首先是界面的外觀,另一個是用戶在用戶臉部滾動時的感覺。我沒有使用索尼應用程序,所以我不知道它的行爲。我的猜測是它的「頁面」,即總是以電影海報爲中心停止,就像UIScrollView可以爲你做的一樣。

你可以基於你的解決方案的UIScrollView打開頁面以獲得最好的滾動,但你也可以添加一個UISwipeGestureRecognizer到你的視圖,並使用左右滑動切換一個海報的左側或右側。

如果你採用UIScrollView的方法,那麼我建議你看看上面的鏈接,並嘗試從那裏開始工作(並在遇到困難時詢問新問題)。

使用第二種方法(UISwipeGestureRecognizer),您將擁有一個主視圖,我將其稱爲「電影視圖」。它的圖層會有許多「海報層」 - 子圖層,每個子圖層都有一個海報。根據想要在屏幕上顯示的海報數量,您可以爲海報的每個位置(中心,左側和右側(也可以選擇leftEdge,rightEdge或類似的東西)定義CATransform3D),然後當UISwipeGestureRecognizer檢測到滑動在電影視圖(整個視圖)中的任何位置,您將更改所有圖層上的transform屬性,以便它們可以動畫到其新位置。還可以進行左右兩側的屏幕上或左右移動圖層的變換通過使用旋轉和透視(谷歌「CATransform m34」,如果你不確定我的意思),你可以使它看起來像層沿着一個圓柱體移動

如果你搜索網頁或只是StackOverflow的「核心動畫CoverFlow「你會找到可以幫助你入門的答案。只需改變旋轉角度,使偏離中心的層離開你,讓層變小,然後稍微向下移動,你就可以達到索尼應用程序所具有的「柱面效果」。

如果你被卡住了,或者只是想了解更多關於Core Animation的信息,那麼這裏有很多很棒的資源,比如這些書M. Zarra & M. Long: Core AnimationB. Dudney: Core Animation

另外,Bill Dudney的this screencast-series(與第二本書相同)是一個夢幻般的核心動畫資源。而第4集甚至適用於Cover Flow類應用程序。