#38 利用 page control,segmented control,button & gesture 更換內容
Published in
14 min readJul 12, 2018
點選 page control(小圓點)
- 點選小圓點時,segmented control 和顯示頁數的 label 也要更新。
page control 預設就有點選功能,點選目前選取的 page control 的右邊會跳到下個小圓點,點選它的左邊會跳到前個小圓點。
ps: 點選小圓點只會跳下一個 / 上一個,不會直接跳到點選的小圓點。
從 UIPageControl 的 currentPage 可知道目前選取的小圓點是第幾個。
從 UISegmentedControl 的 selectedSegmentIndex 可讀取或設定目前選取的是第幾個 segment。
點選 segmented control
- 點選 segmented control 更換內容。
- segmented control 更新時,小圓點也要更新。
點擊向左 / 向右的 button
- 點選向右 button 顯示下一頁的內容,在最後一頁點選向右 button 將顯示第一頁的內容。點選向左的 button 顯示上一頁的內容,在第一頁點選向左 button 將顯示最後一頁的內容。
- 更換內容時,小圓點,segmented control & 顯示頁數的 label 也要更新。
swipe gesture (左滑右滑)
- 在圖片上左滑顯示下一頁的內容,在最後一頁左滑將顯示第一頁的內容。在圖片上右滑顯示上一頁的內容,在第一頁右滑將顯示最後一頁的內容。
- 更換內容時,小圓點,segmented control & 顯示頁數的 label 也要更新。
點選按鈕隨機內容
使用 UIPageControlTimerProgress 無限輪播內容
Long Press Gesture Recognizer(長按)
- 長按圖片觸發隨機更換內容。
- 更換內容時,小圓點,segmented control & 顯示頁數的 label 也要更新。
提示: 隨機功能可使用 array 的 function randomElement。
進階功能
多層選擇
隨機功能
點選按鈕隨機內容,搭配 while 確保點選隨機時一定會改變內容,不會跟上次一樣。
Pan Gesture Recognizer(拖曳)
拖曳移動圖片上的文字。
ps: 參考 Develop in Swift Explorations 4.2 的 MemeMaker。