UIScrollView contentOffset在Swift中始终返回零

时间:2016-09-26 18:51:18

标签: swift uiscrollview contentoffset

我想跟踪水平scrollView的位置,但是当我打印contentOffset.x或contentOffset时,它们总是返回零。 这是我班级的代码:

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个点捕捉一次。

1 个答案:

答案 0 :(得分:0)

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

相关问题