在网上看了很多资料,都是独自设置导航栏或者状态栏,但是在我们的项目里面有这样一个问题:

我们的首页需要隐藏导航栏并且状态栏的颜色是白色,

而push出来的界面需要显示导航栏并且状态栏颜色设置成黑色,这个时候出现一个导航栏错乱的问题,push出来的界面导航栏跑到了首页,并且再push后导航栏却不见了

首页截图

IMG_0114.PNG

push页截图

IMG_0115.PNG

出现问题的首页

IMG_0116.PNG

这个问题思来想去都不知道为什么,还是没有办法,最后想了一个可以解决这一问题的方法,具体怎么修改状态栏和导航栏这里就不说了,主要说下两者同时修改出现问题的解决方式

我试了一下,如果不改变状态栏的颜色(具体说应该是不改变状态栏类型),就不会出现这种情况,那我就从这一地方入手,我们可以在首页完全展示的时候再去修改状态栏

var statusType:UIStatusBarStyle = .lightContent

override func viewDidAppear(_ animated: Bool) {

super.viewDidAppear(animated)

statusType = .lightContent

setNeedsStatusBarAppearanceUpdate()

}

override var preferredStatusBarStyle: UIStatusBarStyle {

return statusType

}

@objc func buttonAction() {

navigationController?.pushViewController(TwoViewController(), animated: true)

statusType = .default

}

主要思路就是在push的时候记录跳转界面的状态栏颜色,在首页没有完全显示的时候,状态栏始终与push界面保持一致,当完全展示后,在viewDidAppear中,修改成白色,再主动调用一次修改状态栏颜色的方法setNeedsStatusBarAppearanceUpdate()

这一方法我觉得只能解决一时的问题,并不是长久之计,所以我希望看到的小伙伴如果有更好的方法可以一起分享下,我的QQ:1459709117,一起进步哦!!!

swift 隐藏状态栏_swift 同时修改状态栏和导航栏出现的问题及解决的方法相关推荐

  1. swift 隐藏状态栏_Swift - 动态改变状态栏statusBar文字颜色(preferredStatusBarStyle无效问题)...

    默认情况下,顶部状态栏(statusBar)为 default样式(文字为黑色),我们可以将其改为 light样式(文字为白色),具体方法可以看我之前写的文章(点击查看) 但之前我们都是在应用发布前就 ...

  2. 修改vue-element-admin左侧导航栏的图标

    vue-element-admin一个基于 vue2.0 和 Eelement 的控制面板 UI 框架,这是使用vue技术栈开发的前端程序员的首选管理系统模板,模板以及非常的成熟了,并且有相关的社区和 ...

  3. 状态栏 (+强制修改状态栏颜色)/ 导航栏 / 底部导航Tabbar 常用设置

    1.状态栏设置 全局设置状态栏:设置info.plist文件的View controller-based status bar appearance 选项 YES or NO 1.1.如果选择NO,则 ...

  4. html设置ios状态栏颜色,iOS 修改状态栏颜色

    iOS中修改状态颜色在iOS9后官方废弃了下面这种方法 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDef ...

  5. java屏蔽虚拟按键代码_Android6.0 源码修改之屏蔽导航栏虚拟按键(Home和RecentAPP)/动态显示和隐藏NavigationBar...

    场景分析, 为了完全实现沉浸式效果,在进入特定的app后可以将导航栏移除,当退出app后再次将导航栏恢复.(下面将采用发送广播的方式来移除和恢复导航栏) ps:不修改源码的情况下,简单的沉浸式效果实现 ...

  6. Android6.0 源码修改之屏蔽导航栏虚拟按键(Home和RecentAPP)/动态显示和隐藏NavigationBar...

    场景分析, 为了完全实现沉浸式效果,在进入特定的app后可以将导航栏移除,当退出app后再次将导航栏恢复.(下面将采用发送广播的方式来移除和恢复导航栏) ps:不修改源码的情况下,简单的沉浸式效果实现 ...

  7. swift 第五课 定义model类 和 导航栏隐藏返回标题

    1. 网络请求返回数据时候,把数据转化为model,但是有时候会返回空的字符串,所以加载了个长度的判断: class Model : NSObject{var details_url:String?v ...

  8. 微信小程序之导航栏样式修改、自定义导航栏及封装

    在微信小程序中我们会经常看到不同字样的顶部标题,这样的样式有的是一样的,而有的却又是不同的导航栏,这是怎么回事呢,在这里我们就探讨一下.(微信小程序json文件不能有注释,复制过去的时候有注释记得自行 ...

  9. IDEA修改字体大小 导航栏字体 编辑器字体

    根据IDEA的各个功能,字体分为几部分,导航栏的字体.编辑器的字体(代码部分的字体).控制台的字体. 一.如何修改导航栏的字体 1.打开左上角file--->setting 2.选择Appear ...

最新文章

  1. VS2008正式版创建silverlight项目失败的解决办法
  2. python关于解决‘\u‘开头的字符串转中文的方法
  3. Ubuntu 安装简单samba
  4. 【uni-app】自定义导航栏/标题栏
  5. RHEL5下源码配置LAMP全记录
  6. HashMap在java并发中如何发生死循环
  7. CDN百科第三讲|如果用了云服务器,还需要做CDN加速吗?
  8. 影像能力甩友商一条街 华为P40系列底气在这
  9. 基于JXTA开发的组内聊天和共享文件P2P软件
  10. Sigmoid函数求导
  11. Java工程师 数据库优化面试题(Day16)
  12. SPSS软件入门常识
  13. Ubuntu下给Wine设置微软雅黑字体(4步操作)
  14. (三)bossGroup, workGroup
  15. [Zer0pts2020]easy strcmp 分析与加法
  16. MCDownloader(iOS下载器)说明书
  17. 7-1 统计大写辅音字母 (15 分)
  18. 无法访问计算机无效的语法,您输入的表达式包含无效语法(The expression you entered contains invalid syntax)...
  19. 自媒体娱乐热点素材怎么找?
  20. 如何打造微产业生态链

热门文章

  1. hadoop之hdfs命令
  2. linux的磁盘文件系统特点总结(ext2/ext3/ext4/xfs/tmpfs)
  3. 阿里P9架构师简述从单机至亿级流量大型网站系统架构的演进过程
  4. docker安装后启动失败
  5. [转帖]隔行扫描与逐行扫描视频有什么区别
  6. 【Git的学习笔记】老板让我用Git提交,但我还没学过Git
  7. 深入浅出低功耗蓝牙(BLE)协议栈,使用Ubertooth one扫描嗅探低功耗蓝牙
  8. 思科瑞科创板上市破发:年营收2.22亿 公司市值54亿
  9. jquery移除数组中的某个元素
  10. 童鞋想盗取我十几个G的“种子”,看我是用python来层层加锁!!!