1
CGAffineTransformMakeRotation()
がIOSの7 360、180、90とは異なる角度にオブジェクト(ラベル、ボタンなど)を回転しようとする奇妙なバグに発生からCGAffineTransformMakeRotation IOSの7フレーム変化バグ等、
を修正iOS 8以降ではバグがなくなりました。
解決方法は以下のとおりです。
CGAffineTransformMakeRotation()
がIOSの7 360、180、90とは異なる角度にオブジェクト(ラベル、ボタンなど)を回転しようとする奇妙なバグに発生からCGAffineTransformMakeRotation IOSの7フレーム変化バグ等、
を修正iOS 8以降ではバグがなくなりました。
解決方法は以下のとおりです。
このバグの修正が層、ないボタンのビュー上CGAffineTransformMakeRotation
にCABasicAnimation
を適用することです。
ビューに何らかの理由でそれを適用すると、フレームとAutoLayoutが混乱します。詳細情報here。ここで
は、この修正プログラムを実装する方法は次のとおりです。
let animation = CABasicAnimation(keyPath: "transform.rotation")
animation.autoreverses = false
animation.duration = 0.3
animation.fromValue = 0
animation.fillMode = kCAFillModeForwards
animation.removedOnCompletion = false
animation.toValue = 3.14/4 // 45 degrees
self.myButton.layer.addAnimation(animation, forKey: "45rotation")