2011-07-13 38 views
2

我想要一個帶有視圖的滾動視圖,用戶可以向左或向右滑動並與之交互。 scrollview具有UIViews,用戶需要與之交互。帶有頁面左右預覽的UIScrollView

scrollview

我已經能夠添加的意見和它的作品沒關係與尋呼已啓用。不幸的是,我似乎找不到預覽的好方法。

有一個帖子在UIScrollview Paging Hack,這解釋瞭如何處理它。該解決方案有三個問題:

  • 它只有在預覽是中心圖像寬度的1/4時纔有效。我原本以爲我找到了一個公式來處理預覽的大小,但隨着幻燈片數量的變化,我錯了。
  • 如果預覽的寬度不是寬度的四分之一,則滑動可以起作用,但中心滑動會偏離中心。
  • 當前幻燈片沒有啓用UI交互,除非它是第一個(也是可見部分)。當您滑動到其他部分時,我無法使用按鈕。

我在網上搜了很多關於如何做到這一點,並且一直沒能找到解決辦法。即使在目標C中也有建議。

UPDATE:我想出了一個解決方案,它可以完成我在這裏描述的任務。 https://github.com/roland/Carousel/tree/master/Carousel

+0

你可以設置滾動視圖框到你真正想要的那個,啓用分頁,但是設置clipsToBounds = NO,這樣內容將顯示在分頁框之外? – thelaws

+0

我試過了,問題在於當您滾動時,立即向左或向右滑動跳過。我需要預覽在滑動後移動到中心,好像指示一個快照。 – Candide

回答

1

有一張來自去年的WWDC的地址簿示例代碼 - 我認爲它被稱爲PhotoBook--顯示瞭如何完成此操作。基本上,這是需要的設置:

  • 與位於滾動視圖內(每個內容頁面的寬度)+
  • 網頁內容(網頁之間的期望的填充空間)的寬度A滾動視圖(頁面索引)*((頁面寬度)+(填充空間))的X位置)-0.5 *(填充空間)
  • 包含滾動視圖的子類視圖,其0123,方法被覆蓋爲始終返回它包含的滾動視圖
+0

!謝謝。前兩個項目,幾乎是我所擁有的。最後一個項目,與Test是有趣的,但對於scrollview的子類,它總是返回相同的座標,並返回當前實例沒有使它停止。我目前正在調查是否setContentOffset是要走的路。我可以計算出其中的幀索引,並檢查動畫是否正在減速似乎有點體面。一旦我完成,我會在github上發佈它。 – Candide

+0

不要子類化滾動視圖本身 - 子類化一個泛型UIView,它是您想要滾動的整個可見區域的大小,並使滾動視圖成爲子視圖。這個技巧的關鍵在於你可以在滾動視圖中將'pagingEnabled'設置爲YES,它會爲你處理減速/居中。 –

+0

我不想強加於人。我試圖從2010年找到wwdc演示文稿,但無法找到您要描述的內容。也許,有一個我看不到的技巧。不過,我確實想出了一個解決方案,它可以做到我想要的https://github.com/roland/Carousel/tree/master/Carousel。謝謝你的幫助。 – Candide