美文网首页
关于导航条渐变类型的处理以及注意事项

关于导航条渐变类型的处理以及注意事项

作者: 9d8c8692519b | 来源:发表于2018-01-06 15:14 被阅读16次

一个导航条透明度渐变的问题, 很有意思。

效果如下:导航条渐变.gif


导航条渐变.gif

一、 关于导航条渐变的实现

各位可以直接参考 MXNavigationBarManager的实现。

大致思路:
通过页面滚动的动态y值,改变Alpha。
导航条的背景图,通过指定颜色来生成一个image贴上即可。

二、 如果定制了UINavigationController类

如果你定制了类UINavigationController,那么在实现导航条渐变的情况下。如果导航条需要渐变为透明,那么请注意:检查下你是否使用了下面这句代码,它会影响导航条透明的实现。(setTranslucent:)

[self.navigationBar setTranslucent:NO];

三、可以通过定制系统的UINavigationController类定制返回按钮的图标,等信息

比如:如下信息,通过push页面的时候,根据不同的控制器名称()替换下返回按钮的图标。

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated {
    
    if (self.childViewControllers.count > 0) { // 如果push进来的不是第一个控制器
        viewController.hidesBottomBarWhenPushed = YES;
    }
    
//    // 类名
//    const char *className = [@"PAlbumDetailViewController" cStringUsingEncoding:NSASCIIStringEncoding];
//    // 从一个字串返回一个类
//    Class newClass = objc_getClass(className);
    
    [[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[[UIImage alloc]init]];
    [[UINavigationBar appearance] setBackIndicatorImage:[[UIImage alloc]init]];
    [[UIBarButtonItem appearance] setBackButtonBackgroundVerticalPositionAdjustment:0.0 forBarMetrics:UIBarMetricsDefault];
    
    viewController.navigationItem.backBarButtonItem  = [[UIBarButtonItem alloc]initWithTitle:@" " style:UIBarButtonItemStylePlain target:self action:nil];
    
    if ([[viewController class] isEqual: objc_getClass([@"PAlbumDetailViewController" cStringUsingEncoding:NSASCIIStringEncoding])]) {
        [[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"backButton.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
    }else {
        [[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"back_HK"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
    }

    [super pushViewController:viewController animated:animated];
    
}

相关文章

  • 关于导航条渐变类型的处理以及注意事项

    一个导航条透明度渐变的问题, 很有意思。 效果如下:导航条渐变.gif 一、 关于导航条渐变的实现 各位可以直接参...

  • 渐变以及倒影和遮罩

    渐变 渐变分为线性渐变以及径向渐变,下面来一一介绍 线性渐变 注意事项 默认写法,不加前缀,要在方向前面加to,顺...

  • 渐变导航条And按钮

    渐变导航条: 代码: 运行结果: .按钮: 雪碧图: 代码: 运行结果:

  • 详细解读遗嘱的相关法律规定及适应问题

    本文将从遗嘱类型、不同类型遗嘱需注意事项、遗嘱见证人如何选择、遗嘱的撤回以及无效情形、遗嘱可以设立哪些内容以及...

  • 模拟京东首页导航条渐变

    京东App的效果演示: 京东App首页导航条 - 细节点: 根据拖动,导航条的透明度渐变 拖动到一定的位置,整个导...

  • navigationBar导航条和navigationItem设

    navigationBar导航条和navigationItem设置:基本搞定导航条上的文字和按钮以及各种跳转

  • swift导航条渐变

    如果需要显示navigationBar,可以自己添加在self.view上,然后滑动隐藏/显示

  • fit_transform()与transform()

    scikit-learn数据预处理fit_transform()与transform()区别 以及同时使用时注意事项

  • 2022-03-23

    有问题要及时去处理,把问题处理好,和客户沟通好维修方式,以及注意事项,然后再做好回访,加油

  • 淘宝网店装修

    讲解为什么要装修店铺,以及店铺装修的关键要素 ** 讲解淘宝店铺的页面类型和模块类型** 装修的具体步骤和注意事项...

网友评论

      本文标题:关于导航条渐变类型的处理以及注意事项

      本文链接:https://www.haomeiwen.com/subject/fayynxtx.html