iPhone开发:隐藏系统状态栏

最近在写iPhone上的程序,第一次在Mac下进行开发,也是第一次写手机上的程序,虽然之前看了少许相关的书籍,但在开发的过程中还是遇到了很多的问题。在这个系列中记录一些遇到的实际的问题,方便淡忘了之后再次查阅。
今天的问题是怎么在App中隐藏系统状态栏(Status Bar)。
以下内容适用于iOS 3.2+。
一、始终隐藏状态栏
如果在App中需要状态栏一直是隐藏着的,可以在<YOUR_APP>AppDelegate的application:didFinishLaunchingWithOptions:函数中进行设置,比如下面这段示意代码可以让状态栏以淡出的方式隐藏起来:
1
2
3
4
5
6
7
8
9
10 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[application setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];
// Add the view controller's view to the window and display.
[self.window addSubview:viewController.view];
[self.window makeKeyAndVisible];
return YES;
}
相关的方法或属性是UIApplication的:
- setStatusBarHidden:withAnimation:(iOS 3.2+)
- statusBarHidden(iOS 2.0+)
另外还有一个方法setStatusBarHidden:animated:,已经不推荐使用了(deprecated in iOS 3.2)。
二、App启动时就隐藏状态栏
用了上面的方法之后,App在运行过程中,状态栏确实被隐藏起来了,但是我发现在App启动的那个瞬间,还是可以看到状态栏的,然后一闪即过。虽然时间很短暂,看着还是很不舒服。为了让状态栏从启动的时候就隐藏起来,可以修改<YOUR_APP>-Info.plist。如果在Xcode中修改,在根结点Infomation Property List下面新加一项“Status bar is initially hidden”(不用手动输入,可以直接在下拉菜单中选取)。这是个BOOL类型的键值,将Value栏中的复选框勾选上即可。

在Info.plist中设置状态栏为隐藏
也可以以文本方式修改,在根节点中添加UIStatusBarHidden键值,值设为true即可:
1
2 <key>UIStatusBarHidden</key>
<true/>
三、在运行过程中隐藏或显示状态栏
与第一段中的方法一样,只是可以在任何地方调用。只要利用UIApplication类的静态方法sharedApplication拿到application实例即可。
不一定相关的相关文章:作者: Calf
标签: iOS, iPhone开发, ObjC, setStatusBarHidden, Status Bar, UIApplication, 隐藏状态栏 发表评论
翻译
友情链接
- Bebluesky 快乐生活,幽它一默
- Python俱乐部 以提供Python知识为目标,原创并收集Python编程相关的知识
- 东华博客 关注生活,关注科技,关注互联网,了解互联网,了解科技,了解生活!
- 阅微堂 数学、金融、计算机
随便看看
广而告之
系列文章
Other posts belonging to the Series: iOS开发笔记
标签云
Algorithm BlueHost Game iOS iPhone 开发 LaTeX Math ObjC OS Plugin Twilight Princess Wii WordPress WordPress Plugin 任天堂 单次遍历 塞尔达传说 婚礼 建站 智力题 概率 游戏攻略 照片 等概率 算法题 随机数 随机选取 面试题 黎明公主 黑苹果
WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.
最新评论
- 正在加载...