如题,本人正在写一个iOS app,并且希望在左右滑动一个UIScrollView以后根据滑动的offset大小定义targetContentOffset。语言是swift,编译环境是xcode 6 beta 4。
部分代码:
class someViewController: UIViewController, UIScrollViewDelegate {
func someMethod() {
...
var myScrollView = UIScrollView()
...
myView.addSubview( myScrollView )
myScrollView.delegate = self
}
func scrollViewWillEndDragging(scrollView: UIScrollView!, withVelocity velocity: CGPoint, targetContentOffset: UnsafePointer<CGPoint>) {
if scrollView.contentOffset.x > someValue {
println("something")
targetContentOffset.memory.x = -20
println("\(targetContentOffset.memory.x)")
}
}
}
得到的结果是 something 被输出了,targetContentOffset.memory.x的值也被修改了,但是view没有停留到我想让他停留的位置。请高手来看一看怎么回事。谢谢。
1
sobigfish 2014-08-03 11:14:04 +08:00
contentSize 不够大?瞎猜的-。-
|
2
csmx123 OP 更新:
func scrollViewWillEndDragging(scrollView: UIScrollView!, withVelocity velocity: CGPoint, targetContentOffset: UnsafePointer<CGPoint>) { if scrollView.contentOffset.x > someValue { targetContentOffset.memory.x = -20 scrollView.setContentOffset( CGPointMake( -20.0 , 0.0 ), animated: false ) } } } 实现了自动滑动,但是当animated变成true的时候自动滑动失败了 |
3
csmx123 OP 以解决,删除了storyboard,用纯代码实现就没问题了。
|