我想制作一个动画,当您按下按钮时会在其中创建脉冲。但这在滚动视图上实际上不起作用,因为它实际上是“屏幕”上的特定点,而不是滚动视图上的特定点。
向下滚动时,脉冲的原点保持不变。

@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类型。

最佳答案

如果您使用的是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)
}

关于ios - 滚动 View 中按钮的中心,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51254979/

10-09 12:51