在swift中滚动控制动画?有可能吗?

时间:2016-07-15 03:08:23

标签: swift animation scroll uiscrollview

好吧,所以我在jquery中做过这样的事情,但我真的需要在Swift for iOS中实现这个效果 -

我需要我的Uiview动画以递增的方式发生(即滚动,因此它们滚动得很快,动画发生得非常快,动画变慢,停止等)由滚动视图中的滚动控制。

想想iPhone上打开的滑动条。我没有在swift中找到任何关于此的问题,而且我发现最接近的是这个对象链接 - http://www.oliverfoggin.com/controlling-animations-with-a-uiscrollview/

我不知道如何将它应用到我的动画中。这是我用这个rec​​t-

触摸时发生的动画

self.activeBorder = UIView(框架:CGRectZero)     self.activeBorder.backgroundColor = kDefaultActiveColor     //self.activeBorder.backgroundColor = kDefaultActiveBorderColor     self.activeBorder.layer.opacity = 0     self.addSubview(self.activeBorder)

使用动画制作:

self.borderlines.transform = CATransform3DMakeScale(CGFloat(0.01), CGFloat(1.0), 1)
self.activeBorder.layer.opacity = 1

CATransaction.begin()
self.activeBorder.layer.transform = CATransform3DMakeScale(CGFloat(0.03), CGFloat(1.0), 1)
let anim2 = CABasicAnimation(keyPath: "transform")
let fromTransform = CATransform3DMakeScale(CGFloat(0.01), CGFloat(1.0), 1)
let toTransform = CATransform3DMakeScale(CGFloat(1.0), CGFloat(1.0), 1)
anim2.fromValue = NSValue(CATransform3D: fromTransform)
anim2.toValue = NSValue(CATransform3D: toTransform)
anim2.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseOut)
anim2.fillMode = kCAFillModeForwards
anim2.removedOnCompletion = false
self.activeBorder.layer.addAnimation(anim2, forKey: "_activeBorder")

CATransaction.commit()

这使得矩形从中心生长为线条/边框。我需要这个由用户滚动控制 在滚动视图中。

这可能吗?我怎样才能做到这一点?我对obj c的了解很少 - 我可以将这段代码转移到我的动画中,即使它与教程中讨论的颜色动画无关吗?

0 个答案:

没有答案