我創建了一個Collection View包含 2 個專案的用戶入職。
有Collection View一個UIPageControl顯示當前處于活動狀態的頁面用戶。
問題是我UIPageControl只能在過渡結束時更改活動點的狀態,在用戶滑動到下一個\上一個螢屏后。
這就是它現在的樣子:GIF
我想要這種行為,因此當您開始滑動時,UIPageControl應該已經將其活動點更改為下一個\上一個,而我不必結束滑動(抬起手指)。
你可以在 gif 上查看我想要的內容:GIF
這是我UIPageControl現在更改點的方法:
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
let width = scrollView.frame.width
currentPage = Int(scrollView.contentOffset.x / width)
pageControl.currentPage = currentPage
}
應該如何修改我的代碼,使用哪種方法來實作行為?我在 StackOverflow 上找不到任何類似的問題。
uj5u.com熱心網友回復:
根據你的問題...
- 你只有兩個單元格(頁面)
- 您希望頁面控制元件反映哪個頁面最可見
代替scrollViewDidEndDecelerating,實作:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let fw = scrollView.frame.width
// get the percentage scrolled
let pct = scrollView.contentOffset.x / fw
// if it's less-than 50%, we're at page 0
// else, we're at page 1
pageControl.currentPage = pct < 0.5 ? 0 : 1
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/465807.html
標籤:IOS 迅速 uicollectionview uikit uipagecontrol
上一篇:未能為開發準備設備
