iOS 同navigationController下 不同vc不同顏色導航欄的push/pop 漸變過渡


苦於設計師老喜歡在一個app里設置兩種不同顏色的vc 風格.

navigationBar的顏色還能通過把navigationBar的背景設置為透明再在vc中搭顏色

但navigationBar中的按鈕,標題等  都無法很好地獨立控制

除非把navigationBar加在vc中,讓vc完全獨立控制

這又失去了iOS 過渡動畫的一些特性,看着不爽

比較理想的是微信的效果,能在push/pop動畫中漸變修改不同狀態下的顏色來達到不同風格效果

效果如下

注意看那個返回按鈕的箭頭顏色

於是...

需每個vc獨立控制當前顯示navigationBar的顏色配置,可在每個viewWillAppear中使用

    [self.transitionCoordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext>  _Nonnull context) {
        self.navigationController.navigationBar.tintColor = [UIColor blueColor]; //控制按鈕顏色
        self.navigationController.navigationBar.barTintColor = [UIColor orangeColor]; //控制導航欄背景色 按需設置
    } completion:^(id<UIViewControllerTransitionCoordinatorContext>  _Nonnull context) {
    }];


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM