水平捲動的 scroll view

Step1:在 Assets.xcassets 加入需要的圖片

Step2:在畫面上加入寬度等於螢幕寬度的 scroll view,並為其背景設定顏色

Step3:加入容納專輯圖片的 View

要想讓 scroll view 水平捲動,關鍵在於 scroll view 上放一個超過 scroll view 寬度的 view。這樣我們在向左 / 向右捲動的時候,就可以看到旁邊下一張圖片。

然而將東西加到超出螢幕的區塊會有點難度,因為我們看不到超出螢幕的區塊。因此以下我們將採用另一個做法,先將 View 加到左邊 Document Outline 的 Exit 下方。

加在 Exit 下的 View 因為並沒有長在 Controller 的 View 底下,所以它還不會顯示在畫面上,它將變成一塊獨立的長方形,孤單地長在 controller 的外面。

Step4:設定 View 的大小

點選 View 後,切換到 Size inspector,將它的大小設為 600 * 150。

Step5:在 View 上加入準備好的 image view

Step6:將剛剛設計好的 View 加到 scroll view 上

從左邊的 Document Outline 點選 View,拖曳到右邊畫布的 scroll view 框框裡。(也可以拖曳到 Document Outline 的 scroll view 下)

Step7:調整 View 的 X 和 Y

設定 View 的 X 和 Y,讓它出現在 scroll view 上。

Step8:設定 scroll view 的 content size

我們希望 scroll view 能水平捲動,還有最後關鍵的一步要設定。
scroll view 的 content size 決定了它內容的大小,也就是它可以捲動的範圍。

content size 的寬度要大於 scroll view 的寬度才能水平捲動。(ps: content size 的高度大於 scroll view 的高度時將可上下捲動)

  • Key Path 欄位輸入 contentSize,大小寫要一模一樣。

User Defined Runtime Attributes 可設定元件的 property,在此我們設定 scroll view 的 contentSize,透過它指定內容的大小。

  • Type 欄位選擇 Size
  • Value 欄位輸入 {600, 0}

第一個數字是寬度,第二個數字是高度。

切記捲動的關鍵在於 contentSize 的寬或高大於 scroll view 本身的寬或高。

我們將第一個數字設成容納專輯圖片的 View 的寬度 600,由於 600 超過 scroll view 本身的寬度 414,因此 scroll view 將能水平捲動。
由於我們不需上下捲動,因此我們只要將第二個數字設成小於 scroll view 本身的高度即可,在此我們設為 0。

Step9:將 View 的顏色設成 Clear Color

剛剛的 View 是白色的,請將它的顏色改成 Clear Color,如此才不會顯示白白的一塊。

如果不能捲動 ?

別心灰意冷,請檢查以下四個地方是否設定正確:

  • scroll view 須設定 contentSize。
  • scroll view 裝的 view 的寬度須超過 scroll view 的寬度。
  • scroll view 裝的 view 的寬度須等於 contentSize 設定的寬度。
  • contentSize 設定的寬度須大於 scroll view 本身的寬度。

結果

--

--