【问题标题】:scrollViewWillEndDragging targetContentOffset.memory not changed in Xcode 6 beta 4scrollViewWillEndDragging targetContentOffset.memory 在 Xcode 6 beta 4 中未更改
【发布时间】:2014-07-30 12:17:00
【问题描述】:

这里我有以下代码,试图改变 targetContentOffset 的值,但是我只有 println() 工作,设置偏移后视图仍然没有改变

func scrollViewWillEndDragging(scrollView: UIScrollView!, withVelocity velocity: CGPoint, targetContentOffset: UnsafePointer<CGPoint>) {

    println( "got something" )
    targetContentOffset.memory.x = 200
    targetContentOffset.memory.y = 200
}

更新:

当我跟随时,我能够自动滚动视图。但是,当我将 animated 设置为 true 时,它不起作用。

func scrollViewWillEndDragging(scrollView: UIScrollView!, withVelocity velocity: CGPoint, targetContentOffset: UnsafePointer<CGPoint>) {
    targetContentOffset.memory = CGPointMake( CGFloat( 156.0 ) , CGFloat( 0.0 ) )
    scrollView.setContentOffset( CGPointMake( CGFloat( 156.0 ) , CGFloat( 0.0 ) ), animated: false )
}

【问题讨论】:

    标签: ios swift uiscrollviewdelegate xcode6


    【解决方案1】:

    我从情节提要中删除了单元格,并用代码重写了所有内容。不知何故,它起作用了。

    【讨论】:

      【解决方案2】:

      您不应该在scrollViewWillEndDragging 内部调用scrollView.setContentOffsetscrollViewWillEndDragging 在用户滚动停止时自动调用,它使您有机会相应地修改targetContentOffset

      这应该将滚动视图的contentOffset 自动设置为修改后的targetContentOffset

      func scrollViewWillEndDragging(scrollView: UIScrollView!, withVelocity velocity: CGPoint, targetContentOffset: UnsafePointer<CGPoint>) {
          targetContentOffset.memory = CGPointMake(CGFloat(156.0), CGFloat(0.0))
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-15
        • 1970-01-01
        相关资源
        最近更新 更多