2016-09-26 8 views
1

내 horizontal scrollView의 위치를 ​​추적하려고하지만 contentOffset.x 또는 contentOffset을 인쇄 할 때 항상 0을 반환합니다. 문제가 무엇인지에 관해서는Swift에서 UIScrollView contentOffset이 항상 0을 반환합니다.

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 내의 코드는 잘 작동하며 scrollView가 매 40 점 스냅되도록 contentOffset을 설정합니다.

답변

0

scrollView.contentSize이 스크롤 할 수있을만큼 충분히 큰지 확인하십시오. 그렇지 않으면 targetContentOffset.pointee.x은 0이됩니다.