博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
navigationbar闪现黑条,白条问题
阅读量:6300 次
发布时间:2019-06-22

本文共 1485 字,大约阅读时间需要 4 分钟。

大家在开发中,有些viewcontroller需要隐藏navigationbar,经常在这跳转的时候会出现黑条,白条的情况,在网上一查大部分给出的方案是在

- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.navigationController setNavigationBarHidden:YES animated:animated];}- (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [self.navigationController setNavigationBarHidden:NO animated:animated];}复制代码

大部分情况这样确实把问题解决了,代码也不难理解在这个viewcontroller将要出现的把navigationbar隐藏,在这个viewcontroller将要消失的时候把navigationbar重新展现出来。 可是当我们下一个跳转过去的viewcontroller也要隐藏navigationbar的时候,你的做法肯定也是复制上面的代码到需要隐藏的viewcontroller对吧,这时候你发现闪现的黑块又出现了, 为什么呢? 问题的关键就在

- (void)viewWillDisappear:(BOOL)animated {    [super viewWillDisappear:animated];    [self.navigationController setNavigationBarHidden:NO animated:animated];}复制代码

因为先是yes然后no然后yes,中间有个闪现的no。 大家就会发现我能不能做到不管怎么跳转,我都能随心所欲的控制我的navigationbar出现和隐藏呢,答案是能的。 一般大家都有基类viewcontroller,只要在基类viewcontroller中

- (void)viewWillAppear:(BOOL)animated {    [super viewWillAppear:animated];    [self.navigationController setNavigationBarHidden:self.navigationHidden animated:animated];}复制代码

这样你就随心所欲的控制了,只要你想要hidden。给navigationHidden属性赋值yes就好了。

方式二:根据navigation的代理方法来设置

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated{    BOOL isHiddenNavBar = [viewController isKindOfClass:[self class]];    [self.navigationController setNavigationBarHidden:isHiddenNavBar animated:YES];}复制代码

文章完,但愿有帮到你。比心

转载地址:http://ykwxa.baihongyu.com/

你可能感兴趣的文章
重叠(Overlapped)IO模型
查看>>
Git使用教程
查看>>
使用shell脚本自动监控后台进程,并能自动重启
查看>>
Flex&Bison手册
查看>>
solrCloud+tomcat+zookeeper集群配置
查看>>
/etc/fstab,/etc/mtab,和 /proc/mounts
查看>>
MyBatis-Plus | 最简单的查询操作教程(Lambda)
查看>>
rpmfusion 的国内大学 NEU 源配置
查看>>
spring jpa 配置详解
查看>>
IOE,为什么去IOE?
查看>>
Storm中的Worker
查看>>
代码大全读后感(二)
查看>>
HTTP协议
查看>>
nyoj 715 Adjacent Bit Counts
查看>>
[转] JavaScript:彻底理解同步、异步和事件循环(Event Loop)
查看>>
jQuery基础:keydown( ) 与 keypress( ) 区别
查看>>
electron 开发环境搭建
查看>>
使用MEF实现通用参数设置
查看>>
修改头像,存入后台
查看>>
嵌入式开发之davinci--- 8148/8168/8127 中的图像缩放sclr、swms之后出现图像视频卡顿、屏幕跳跃的问题...
查看>>