zoukankan      html  css  js  c++  java
  • iOS12 EachNavigationBar导航栏操作出现黑边解决办法

    EachNavigationBar 是一个能够自定义iOS导航栏的开源插件。

    源码托管在github上,大家可自行搜索查看。本文就不贴链接了。

    EachNavigationBar 功能能够支撑日常使用,支持大标题等功能。

    上一篇博文也提及到EachNavigationBar使用中遇到的一些问题:

    EachNavigationBar 导航栏颜色与给定颜色不相同设定

      笔者在后续使用中,有发现一个新的问题,push和pop跳转的时候,页面在出现和消失的动画开始前,导航栏的右上角会出现短暂的黑色阴影。

    这个问题在使用EachNavigationBar时候会出现,甚至使用原生导航栏也会出现。

      当笔者在页面隐藏 导航栏的时候,进行push和pop操作,push到的页面设置显示导航栏的, 在此情况下push和pop,黑色阴影没有出现。

    然后笔者做了一些操作,查看究竟什么地方出现该问题。

            

            

    大家看到这里,应该也看到黑边的样子了。在操作的时候会出现右侧黑框。

    解决办法: 

      临时解决办法。

      将nav_bar设置成不透明 

    navigation_bar.translucent = NO;

    效果如下:

       

        

        

    还有第二种方法:

      

    - (void)viewWillDisappear:(BOOL)animated{

        [super viewWillDisappear:animated];

        [self.navigationController setNavigationBarHidden:NO animated:NO];

    }

    - (void)viewWillAppear:(BOOL)animated{

        [super viewWillAppear:animated];

        [self.navigationController setNavigationBarHidden:YES animated:YES];

    }

    还有第三种隐藏方法:

      但是不是每个人都适用,有点欺骗性,哈哈,你们可以按照你们的项目自行选择。

     ------ 直接在appdelegate里面的didFinishLaunchingWithOptions方法里面设置window的背景颜色

      self.window.backgroundColor = [UIColor whiteColor];

    最后其实还有一种方案:

      就是在GitHub上,有一个算是全自定义的导航栏,而且该导航栏也支撑大标题、滑动缩减等功能, Star已有2K左右了,名字我这就不贴上来了。大家可自行搜索,很容易搜索出来的。

  • 相关阅读:
    线程间协作的两种方式:wait、notify、notifyAll和Condition
    Lock
    线程池ExecutorService的使用
    使用volatile的条件
    解决共享资源竞争
    并发时捕获异常
    Executor执行器
    BufferedReader 和BufferedWriter
    彻底理解Java的Future模式
    贝叶斯网络简介--翻译版
  • 原文地址:https://www.cnblogs.com/kingjiajie/p/10914509.html
Copyright © 2011-2022 走看看