2016-09-26 96 views
1

我想跟踪水平scrollView的位置,但是当我打印contentOffset.x或contentOffset时,它们总是返回零。 这是我的类代码:UIScrollView contentOffset在Swift中始终为零

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

回答

0

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