私はすべての私たちに知られているアニメーションを使っています。ナビゲーションバーの背景イメージを少し変更してアニメーションして半透明(デフォルト)から(青のテーマ)に変更します。アニメーションでナビゲーションバーの背景イメージを変更する方法は?
アニメーションはうまくいかなかったが、ナビゲーションバーの背景画像が正常に変更された理由はわからない!
アイデア?
私はすべての私たちに知られているアニメーションを使っています。ナビゲーションバーの背景イメージを少し変更してアニメーションして半透明(デフォルト)から(青のテーマ)に変更します。アニメーションでナビゲーションバーの背景イメージを変更する方法は?
アニメーションはうまくいかなかったが、ナビゲーションバーの背景画像が正常に変更された理由はわからない!
アイデア?
アニメーションブロック内でlayoutIfNeeded()
に電話する必要があります。
このコードは、私のために働いた背景画像を変更するための
UIView.animate(withDuration: 0.5, delay: 0, options: .curveEaseOut, animations: {
self.navigationController?.navigationBar.barTintColor = .blue
self.navigationController?.navigationBar.layoutIfNeeded()
}, completion: nil)
更新:
let animation = CATransition()
animation.duration = 0.5
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseOut)
animation.type = kCATransitionFade
navigationController?.navigationBar.layer.add(animation, forKey: nil)
UIView.animate(withDuration: 0.5, delay: 0, options: .curveEaseOut, animations: {
self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: "your-image-name"), for: .default)
}, completion: nil)
ありがとうございますが、何も起こりませんでした。 ':( –
'backgroundImage'を変更する必要がありますか、上のサンプルコードのように色を変更することはできますか?私は今調査する時間がありませんが、ここではこの問題に対する明らかなObjective-Cの解決策です画像を変更する:https://stackoverflow.com/questions/10823068/how-can-i-animate-the-ininavigationbar-background-change-on-uiviewcontroller-push – Hodson
「背景画像」、そしてもう1つは客観的な答え-Cはうまくいかなかった! –
あなたがイメージなしだけで背景画像を設定している色を変更することのないコードがありません。 –
@NiravD更新 –