状态栏自动隐藏
一,经历
1> Bug 详情===>在某个控制器中, push了一个新控制器,新控制器的状态栏总会自动隐藏,有时候是点击的时候隐藏.
2> 我于是就在控制器的 view 显示的时候,显示状态栏,结果还是会在多次点击屏幕空白处时隐藏状态栏.
3> 我验证了 viewdidappear 那几个方法执行的先后顺序,还是发现不出来,哪个地方隐藏了状态栏. 我在不同的地方显示状态栏,结果还是会隐藏.
汪洋补牢失败,我就开始下面的探索...
4> 感觉像是下面的控制器接收到什么通知隐藏了状态栏,然后我就定位下面的控制器的所有通知,结果没发现隐藏状态栏的代码.
5> 在近乎绝望的过程中,我想起了我的目的是解决状态栏的隐藏,我只要找出隐藏程序中状态栏的代码,不就可以解决问题了吗?
6> 于是我就找出所有隐藏状态栏的代码,找出了两个,而且都来自同一个 view, 结果一查,是该 view 中添加了定时器,每隔5秒回隐藏状态栏(小窗口播放器).
7> 找到了问题的根源后,我便设置了一个标志,标记是否是 push 的控制器...若是 push 的,就在 下面的控制器 viewdiddisappear 中移除该定时器,并在 下面的控制器 viewdidappear 时,添加定时器,并让标志设为空.
二,经验总结
1> 一定要坚持一段连续的时间把问题解决,越是拖延越容易分散自己解决问题的精力.
2> 一定要从问题的根源解决 bug, 发散思维地去想如何解决根源问题.