首页 > 移动平台 > 详细

iOS 同navigationController下 不同vc不同颜色导航栏的push/pop 渐变过渡

时间:2019-12-25 14:19:55      阅读:230      评论:0      收藏:0      [点我收藏+]

苦于设计师老喜欢在一个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) {
    }];

iOS 同navigationController下 不同vc不同颜色导航栏的push/pop 渐变过渡

原文:https://www.cnblogs.com/n1ckyxu/p/12096058.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!