「+」ボタンから「X」ボタンへのクリックをクリックするとアニメーション化しようとしています。トランスフォームアニメーションを実行した後、ナビゲーションバーのiOS UIButtonが消える
私はUIViewの上の標準のボタンを使用しているとき、すべてが素晴らしい作品。私は次のコードを使用しています:
UIView.animateWithDuration(2.0, delay: 0.0, options: .CurveEaseOut, animations: {
let transform = CGAffineTransformMakeRotation(CGFloat(M_PI_4))
self.navigationPlusButton.transform = transform
}, completion: nil)
ナビゲーションバーのボタンで同じことを達成しようとすると問題が発生します。
ボタンの高さが回転する前に0にリサイズされ、何の制約の定義が存在しないので、私は、ナビゲーションボタンのサイズを修正する方法がわからないように見えます。うまくCABasicAnimation回転ボタンを使用して第二のアプローチが、それはそれはアニメーションが終了した直後、初期状態に戻っ:ストーリーボード
との制約
注意に注意してください。もう一度クリックするまで「X」のままにします。それは、ナビゲーションバーの外にそう簡単に動作し、ナビゲーションバーでそれを行うために一生懸命であるどのように
let rotateAnimation = CABasicAnimation(keyPath: "transform.rotation")
rotateAnimation.fromValue = 0.0
rotateAnimation.toValue = CGFloat(M_PI_4)
rotateAnimation.duration = 2.0
self.navigationPlusButton.layer.addAnimation(rotateAnimation, forKey: nil)
?私は解決策を見つけることができません。
rotateAnimation.removedOnCompletion = false
それはあなたの問題を解決することがあります。