public-value-tech/play-button

Animation flickering

i-tengfei opened this issue · 5 comments

Describe the bug
Button flickering on toggle.

2022-04-28.05.43.04.mov

Environment

  • Xcode [e.g. 13.3.1]
  • Swift [e.g. 5.5]
  • OS: [e.g. iOS Simulator 15]

Thank you for your feedback! As mentioned in the Note here there can be flickering on the simulator. Can you confirm the bug in a release build on the device?

After the test, the flickering is more serious on the device.

RPReplay_Final1651694633.MP4

iPhone 12
iOS 15.4

Do you see the same glitch in the sample code on the device? If not, can you provide a minimal project showing the bug?

Yes it has the same problem in the sample code.

RPReplay_Final1652051717.mov

And it's easy to reproduce.

import UIKit
import PlayButton

class ViewController: UIViewController {
  lazy var playButton: PlayButton = {
    let playButton = PlayButton()
    playButton.addAction(.init(handler: { [weak self] _ in
      guard let self = self else { return }
      if (playButton.isPlay) {
        playButton.setMode(.pause, animated: true)
      } else {
        playButton.setMode(.play, animated: true)
      }
    }), for: .touchUpInside)
    return playButton
  }()

  override func viewDidLoad() {
    super.viewDidLoad()
    
    view.addSubview(playButton)
    playButton.translatesAutoresizingMaskIntoConstraints = false
    playButton.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
  }
}


Hi @i-tengfei! Could you test if the latest release fixes the issue?