我想制作一个动画,在您按下按钮时会在其中创建脉冲。但这在滚动视图上实际上不起作用,因为它实际上是“屏幕”上的特定点,而不是滚动视图上的特定点。 向下滚动时,脉冲的原点保持不变。
@objc func addPulse() {
let pulse = Pulsing(numberOfPulses: 1, radius: 120, position: playButton.center)
pulse.animationDuration = 0.8
pulse.backgroundColor = UIColor.red.cgColor
self.view.layer.insertSublayer(pulse, below: playButton.layer)
该位置必须来自CGPoint类型。
答案 0 :(得分:0)
如果使用的是ScrollView,请更好地使用滚动视图的中心而不是按钮的中心,因为滚动时该按钮将消失。因此,当您创建Pulsing对象时,请使用self.view.center作为位置。
@objc func addPulse() {
let pulse = Pulsing(numberOfPulses: 1, radius: 120, position: self.view.center)
pulse.animationDuration = 0.8
pulse.backgroundColor = UIColor.red.cgColor
self.view.layer.insertSublayer(pulse, below: playButton.layer)
}
答案 1 :(得分:0)
根据您提供的少量上下文,我将继续假设您在UIScrollView中有一个按钮,并且需要在按钮后面添加脉冲动画,但是问题是随着视图的滚动和按钮的改变动画的位置始终保持在同一位置。另外,我想你在UIViewController类中。
如果我完全猜对了,这就是我认为正在发生的事情:
我的建议是让您尝试:
@objc func addPulse() {
let pulse = Pulsing(numberOfPulses: 1, radius: 120, position: playButton.center)
pulse.animationDuration = 0.8
pulse.backgroundColor = UIColor.red.cgColor
scrollView.layer.insertSublayer(pulse, below: playButton.layer)
}