【问题标题】:iOS UIPageViewController ScrollView offset getting wrong valueiOS UIPageViewController ScrollView 偏移量获取错误值
【发布时间】:2023-03-22 08:00:01
【问题描述】:

我有一个UIPageViewController 并通过UIScrollViewDelegate 遵守

for subView in self.pageVC.view.subviews {
    if let subView = subView as? UIScrollView {
        subView.delegate = self
    }
}

我有一个指示器(下方的蓝线),我想将它滑动到 pageviewcontroller,如图所示。

但是当我打印偏移值得到奇怪的结果时,当我停止滚动时。

当我滚动时偏移值会增加,当我停止时它一直给出 414.0。

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    
    debugPrint("offset : \(scrollView.contentOffset.x)")
    let x = (1/3) * (scrollView.contentOffset.x) - 1
    debugPrint("X val :\(x)")
}

日志:

“X 值:274.777777777778”

“偏移量:827.666666666667”

“X 值:274.888888888889”

“偏移量:828.0”

“X 值:275.0”

“偏移量:414.0”

“X 值:137.0”

我做错了什么?

【问题讨论】:

  • 嗨 Abhishek,您找到解决方案了吗?
  • 不,我用图书馆代替了这个

标签: ios swift uiscrollview uipageviewcontroller uiscrollviewdelegate


【解决方案1】:

试试这个代码

func scrollViewDidScroll(_ scrollView: UIScrollView) {
 let point = scrollView.contentOffset
 let percentComplete = fabs(point.x - self.view.frame.size.width)/self.view.frame.size.width
 print("percentComplete: \(percentComplete)")
}

【讨论】:

  • 滚动后该值将变为 414,因此无法正常工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-11
  • 2013-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-01
相关资源
最近更新 更多