状态栏自动隐藏

一,经历

1> Bug 详情===>在某个控制器中, push了一个新控制器,新控制器的状态栏总会自动隐藏,有时候是点击的时候隐藏.

2> 我于是就在控制器的 view 显示的时候,显示状态栏,结果还是会在多次点击屏幕空白处时隐藏状态栏.

3> 我验证了 viewdidappear 那几个方法执行的先后顺序,还是发现不出来,哪个地方隐藏了状态栏. 我在不同的地方显示状态栏,结果还是会隐藏.

汪洋补牢失败,我就开始下面的探索...

4> 感觉像是下面的控制器接收到什么通知隐藏了状态栏,然后我就定位下面的控制器的所有通知,结果没发现隐藏状态栏的代码.

5> 在近乎绝望的过程中,我想起了我的目的是解决状态栏的隐藏,我只要找出隐藏程序中状态栏的代码,不就可以解决问题了吗?

6> 于是我就找出所有隐藏状态栏的代码,找出了两个,而且都来自同一个 view, 结果一查,是该 view 中添加了定时器,每隔5秒回隐藏状态栏(小窗口播放器).

7> 找到了问题的根源后,我便设置了一个标志,标记是否是 push 的控制器...若是 push 的,就在 下面的控制器 viewdiddisappear 中移除该定时器,并在 下面的控制器 viewdidappear 时,添加定时器,并让标志设为空.

二,经验总结

1> 一定要坚持一段连续的时间把问题解决,越是拖延越容易分散自己解决问题的精力.

2> 一定要从问题的根源解决 bug, 发散思维地去想如何解决根源问题.

时间: 2024-08-12 19:20:48

状态栏自动隐藏的相关文章

iOS开发-自动隐藏键盘及状态栏

1.隐藏状态栏 iOS升级至7.0以后,很多API被废止,其中原有隐藏状态栏StatusBar的方法就失效了. 原有方案 [[UIApplication sharedApplication] setStatusBarHidden:YES]; 但很不幸,在后来的版本中实效了,因此我们可以使用新的API来实现隐藏状态的栏的目的,如下: -(BOOL)prefersStatusBarHidden { return YES; } 2.自动隐藏键盘并自动布局 这里提供的解决方案适用于任何类型的键盘,主要是

页面跳转 和虚拟键盘的自动隐藏

前提:起码要有两个视图控制器. 注意事项: 设置跳转的动画效果 UITextField输入时,虚拟键盘的位置设置(整体布局向上移动,虚拟键盘的自动隐藏) 实现的功能: A:在第一个页面跳转到第二个页面,然后第二个页面点击按钮,进行返回 B:在第一个页面有一个text控件,点击一个按钮,传递到第二个页面,然后显示到第二个 页面的label上面: 效果展示: 步骤: 1.新建两个类,然后勾选xib,在AppDelegate的实现文件把其中的一个视图加载进去 //新建一个视图控制器 MainViewC

[菜鸟成长记]iOS开发自学笔记07-UITextField自动隐藏键盘

点击UITextField输入框后,软键盘默认情况下在结束输入后不会自动隐藏,目前总结了两种可以自动隐藏软键盘的方法: 第一种:通过响应UITextField对象的Did End On Exit事件,当点击默认软键盘的"Done"按钮或"Return"按钮会触发Did End On Exit 事件,通过编码实现来响应Did End On Exit事件来实现自动隐藏键盘 - (IBAction)TextFieldDidEndOnExit:(id)sender { [t

Jquery UI - DatePicker 在Dialog中无法自动隐藏的解决思路

通过Jquery UI Dialog模态展示如下的一个员工编辑页面,但是遇到一个奇怪的问题:点击Start Date的input元素后,其无法失去焦点.从而导致DatePicker控件在选择日期后无法自动隐藏. 解决思路:给DatePicker加上onSelect事件,在该事件中让Start Date的input元素的父元素获取焦点,这样DatePicker控件在选择日期后就自动隐藏.

关于C# 窗体自动隐藏和加载的问题

最近在写一个小项目,开发一个小程序配合其他软件使用,其中一款软件在使用工作时需要截图生成报告,此时不能有其他应用程式界面在显示器桌面显示,故需要自动隐藏和加载窗体,通过阅读Windows API实现了这一功能与大伙分享交流一下:原本C#自带Hide()和Show()方法:但是在项目开发时将窗体定义为静态类型:故无法通过this关键字来调用其对应的隐藏和显示窗体方法.这里通过Windows API提供的函数来实现,首先要获取当前运行窗体的句柄,方法如下: 定义一个全局变量 IntPtr Handl

滑动ListView自动隐藏页面头部和底部元素的例子

完整工程代码在这:https://github.com/NashLegend/Auto-Hide-ListView 现在很多软件都有这种滑动列表的时候自动隐藏页面头部和底部元素的功能,比如Google+.在刚刚进入Activity的时候,页面是一个列表,底部有一个view,头部一个view,当列表向上滑动的时候,隐藏头尾元素,以显示更多内容,当列表向下滑动的时候,再将头尾元素拉出来.比如Google+. 刚刚进入时是这个样子: 再把列表身上一拉,头尾隐藏,成了这个样子: 再往下拉,就会再变回第一

c# winform 中的 工具栏自动隐藏 splitter用法 带源码

代码下载地址 http://download.csdn.net/detail/simadi/7649313 c# winform 中的 工具栏自动隐藏 splitter用法 带源码,布布扣,bubuko.com

IOS中键盘自动隐藏

前言 很多时候当我们在一个文本框中输入信息后,按了确认或者返回键需要隐藏键盘,或者在其他空白区域点击屏幕后也需要隐藏屏幕. 这时肯定就需要让相应的控件响应Tap事件(点击事件),这样我们才能处理. 实现隐藏的两种方法 在IOS中有一个概念叫First Responder,意指第一响应者,也就是当前屏幕上,处于焦点状态的控件,它是第一响应者,我们在界面的触摸的各种手势都是由这个控件接收的.那么很好理解,当用户点击一个输入框之后,弹出输入键盘,此时这个文本输入框便是第一响应者,那现在要隐藏键盘,其实

iOSPush自动隐藏tabbar

紧接着上次的话题,还是自动隐藏tabbar,有反馈说太复杂,那这次就来个更简单的,只需要在UITabBarController添加控制器的时候调用YZNav就可以了,就可以实现tabbar的自动隐藏了. 直接上github地址:https://github.com/YouZhiZheShiJingCheng/YZ_nav 源码里面有说明哦.非常简单.