swift - UIScrollView contentOffset 在 Swift 中总是返回零

标签 swift uiscrollview contentoffset

我想跟踪水平 ScrollView 的位置,但当我打印 contentOffset.x 或 contentOffset 时,它们总是返回零。 这是我类(class)的代码:

import UIKit

class ScrollForecast: UIScrollView, UIScrollViewDelegate {


@IBOutlet weak var scrollTemp: UILabel!

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    print(self.contentOffset.x)

}

func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {

    scrollView.decelerationRate = UIScrollViewDecelerationRateFast

    let cellWidth: CGFloat = 40
    var index = round(targetContentOffset.pointee.x / cellWidth)
    targetContentOffset.pointee.x = index * cellWidth
}

}

关于可能是什么问题的任何想法? scrollViewDidEndDragging 中的代码工作正常并设置了 contentOffset,以便 scrollView 每 40 点捕捉一次。

最佳答案

确保 scrollView.contentSize 足够大以允许它滚动。否则 targetContentOffset.pointee.x 将为零。

关于swift - UIScrollView contentOffset 在 Swift 中总是返回零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39710253/

相关文章:

swift - 链接请求并使用 RxSwift 返回两个结果

ios - “Unrecognized selector sent to instance” swift

ios - 绑定(bind)剂量似乎不适用于 ReactiveCocoa Swift

ios - 如何让 UIScrollView 滚动

objective-c - iOS 上的手势过滤

javascript - anchor 导航与粘在顶部菜单...需要添加动态偏移到 anchor

ios - 试图使同一索引路径的多个单元格出队,这是不允许的。错误

ios - UITableView 滚动跳转

ios - 将 UIScrollView Delegate 和 UICollectionView Delegate 分配给同一个类

ios - UIScrollView 与 subView 缩放