【发布时间】:2019-11-26 05:20:07
【问题描述】:
我正在寻找一种方法来在 UIView 上指示页面卷曲动画,该动画与触摸交互(开始/移动/结束)like this
注意:
- 我无法使用 UIPageController。动画应应用于
UIView。 - 动画与触摸开始、触摸移动和触摸结束之间的交互非常重要。就像视频一样
示例代码,但不适用于触摸:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
BackBtn.layer.cornerRadius = 5.0
AnimationBtn.layer.cornerRadius = 5.0
transition.delegate = self
transition.duration = 1.5
transition.startProgress = 0
transition.endProgress = 1
transition.type = CATransitionType(string: "pageCurl") as String
transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
transition.fillMode = kCAFillModeBoth
transition.isRemovedOnCompletion = false
}
联系移动:
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
super.touchesMoved(touches, with: event)
if let touch = touches.first {
let endPosition = touch.location(in: touch.view)
differenceX = startPosition.x - endPosition.x
differenceY = endPosition.y - startPosition.y
transition.subtype = kCATransitionFromRight
touch.view!.layer.add(transition, forKey: kCATransition)
webView.scrollView.contentOffset = CGPoint(x: nextPage + differenceX, y: 0)
}
}
【问题讨论】:
标签: ios swift animation touch page-curl