1
私は水平スクロールビューの位置を追跡したいと思いますが、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内のコードはうまく動作し、scrollViewが40ポイント毎にスナップするようにcontentOffsetを設定します。