簡體   English   中英

在分頁scrollView中跟蹤頁面

[英]Track pages in paging scrollView

在我的iOS應用(iOS 11,Swift 4)上,有一個分頁滾動視圖。 為了跟蹤用戶當前正在查看的頁面,我嘗試使用scrollViewWillBeginDraggingscrollViewDidEndDraggingscrollViewDidEndDecelerating方法。

但是,這些似乎還不夠。 我將舉一個例子。 假設scrollView有2頁,而用戶正在查看最左側的那一頁(索引0)。

  • 如果用戶以單一手勢向右滑動,則一切正常(調用beginDragging,然后調用結束拖動,最后調用endDecelerating)

  • 如果用戶嘗試向左滑動(到沒有更多頁面的位置),則當用戶釋放觸摸時,UI會“向后快照”。 這里的問題是,雖然didEndDragging被稱為其willDecelerate設置為true的參數, didEndDecelerating不會被調用。 這使我無法跟蹤當前正在查看的頁面。

我需要知道用戶何時開始滾動以及何時停止滾動。 有沒有更好的策略來實現這一目標?

謝謝!

您可以使用scrollViewDidScroll委托方法,並根據contentOffset在其中計算要顯示的頁面。 UIScrollView還具有isDragging,isDecelerating等屬性,可以為您提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM