-1
私は、UIの円を削除し、それを他の場所に再作成するアニメーションを持っていますが、再作成すると、私の好みよりも小さくなります。なぜそれが小さく見えるのか分かりません。Swift - アニメーションのエフェクトを削除
let viewsToAnimate = [circleFrame]
UIView.perform(UISystemAnimation.delete, on: viewsToAnimate, options: [], animations: {
}, completion: { finished in
self.circle.removeFromSuperlayer()
self.circleFrame.removeFromSuperview()
self.circleFrame.layer.removeAllAnimations()
self.createCircle()
self.score = self.score + 1
self.scoreLabel.text = "Taps: " + String(self.score)
self.tapsLabel.text = "Taps: " + String(self.initialTaps + self.score)
})
func createCircle() {
let randomX = generateRandomX()
let randomY = generateRandomY()
circleCenter = generateCircleCenter(x: randomX, y: randomY)
circleFrame.frame = CGRect(x: randomX, y: randomY, width: 100, height: 100)
circleFrame.alpha = 1.0
self.view.addSubview(circleFrame)
circle.path = UIBezierPath(roundedRect: CGRect(x: 0, y: 0, width: 100, height: 100), cornerRadius: 50).cgPath
circle.fillColor = UIColor(red: 0, green: greenValue/255, blue: 0.6, alpha: 1.0).cgColor
circle.strokeColor = UIColor(red: 1, green: greenValue/255, blue: 0, alpha: 1.0).cgColor
circle.lineWidth = 0
circleFrame.layer.addSublayer(circle)
}
すべてのアニメーションを削除しようとしましたが、それは常に小さく表示されます。なぜこのようなことが起こるかについての助けは素晴らしいことでしょう。
createCircle()
が初めて呼び出されたときの様子です。
これは、それがアニメから呼び出されたときに、それがどのように見えるかです。 CAAnimationは、元のサイズにリセットされますので、私が思う
私は前と後の写真をアップロードするのに苦労しましたが、ここにドロップボックスリンクがあります。大きなドットのあるものは、最初にcreateCircle()が呼び出されたときにどのように見えるかです。一方、他のピクチャは、アニメーションから呼び出されたときの外観です。 https://www.dropbox.com/sh/bccvdfnrjgou2tp/AABZYmswSlwkXimAHG_dQ9tYa?dl=0 – Taylor
私はremoveAllAnimationsとremoveFromSuperviewを入れて、修正するかどうかを確認しましたが、修正していませんでした。私が知る限り、createCircle()はそれを毎回作成しません。可変円は、viewController内のすべての関数の外で呼び出されるため、作成された場所以外の関数で編集することができます。私がそれらを再現するたびに、私は彼らが以前のものから編集されていると思う。 – Taylor
どうすれば解決できますか? – Taylor