`
janedoneway
  • 浏览: 569282 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ios开发中如何隐藏各种bar

 
阅读更多

 

From: http://www.cnblogs.com/lovecode/articles/2234557.html

状态条Status Bar

[UIApplication sharedApplication].statusBarHidden = YES;

或者

// iOS3.2+支持
[application setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];

 statusBarHidden属性支持在iOS2.0+,setStatusBarHidden:animated:方法在iOS3.2中开始取消了,而采用了setStatusBarHidden:withAnimation:方法。

上述方法只能实现在程序跳过loading(即启动画面)的时候才能隐藏状态栏。如果想要在启动画面开始即隐藏状态栏,则要修改app的info.plist文件,新增UIStatusBarHidden键(Status bar is initially hidden),其值是YES。

同理:对于状态栏的颜色改变,也要分别从两处着手,代码[[UIApplicationsharedApplicationsetStatusBarStyle:UIStatusBarStyleBlackOpaque];仅仅改变了启动画面之后的视图上的状态栏,要让App应用在启动画面之时就改变默认颜色,则要修改info.plist文件,新增UIStatusBarStyle键(Status bar style),其值有Opaque black style、Transparent black style和默认的Gray style。

 

导航条Navigation Bar

[self.navigationController setNavigationBarHidden:YES];

选项卡TabBar

方法一:

[self.tabBarController.tabBar setHidden:YES];

此方法的问题:虽然tabBar栏被隐藏了,但该区域成一片空白区,无法被其他视图使用。

方法二:
对于navigationController+tabBarController的结构,可以在push下一级的childController之前将childController的hidesBottomBarWhenPushed属性设为YES。比如,可以在childController的初始化方法中做这件事,代码如下:

复制代码
1 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
2 {
3 self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
4 if (self) {
5 // Custom initialization.
6 self.hidesBottomBarWhenPushed = YES;
7 }
8 return self;
9 }
复制代码

方法三:

View Code
复制代码
 1 - (void)makeTabBarHidden:(BOOL)hide
2 {
3 if ( [self.tabBarController.view.subviews count] < 2 )
4 {
5 return;
6 }
7 UIView *contentView;
8
9 if ( [[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] )
10 {
11 contentView = [self.tabBarController.view.subviews objectAtIndex:1];
12 }
13 else
14 {
15 contentView = [self.tabBarController.view.subviews objectAtIndex:0];
16 }
17 // [UIView beginAnimations:@"TabbarHide" context:nil];
18 if ( hide )
19 {
20 contentView.frame = self.tabBarController.view.bounds;
21 }
22 else
23 {
24 contentView.frame = CGRectMake(self.tabBarController.view.bounds.origin.x,
25 self.tabBarController.view.bounds.origin.y,
26 self.tabBarController.view.bounds.size.width,
27 self.tabBarController.view.bounds.size.height - self.tabBarController.tabBar.frame.size.height);
28 }
29
30 self.tabBarController.tabBar.hidden = hide;
31 // [UIView commitAnimations];
32 }
复制代码

时机

复制代码
 1 - (void)viewWillAppear:(BOOL)animated 
2 {
3 [self setFullScreen:YES];
4 }
5 - (void)viewWillDisappear:(BOOL)animated
6 {
7 [self setFullScreen:NO];
8 }
9 - (void)setFullScreen:(BOOL)fullScreen
10 {
11 // 状态条
12 [UIApplication sharedApplication].statusBarHidden = fullScreen;
13 // 导航条
14 [self.navigationController setNavigationBarHidden:fullScreen];
15 // tabBar的隐藏通过在初始化方法中设置hidesBottomBarWhenPushed属性来实现
16 }
复制代码
分享到:
评论

相关推荐

    IOS 开发状态栏隐藏的实现办法

    IOS 开发状态栏隐藏的实现办法 解决方法:  IOS7以下版本隐藏UIStatusBar的方法:  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { ...

    苹果ios开发100个实例源码.zip

    苹果ios开发100个实例源码; 个人信息输入表(支持表单增删) 二维码扫描应用demo 二维码生成器 从GIF动画创建一个动态UIImages 对象 从上往下拉出现加载view,动态加载内容 从上往下拉动态加载 从上往下拉动态加载3 ...

    苹果ios开发150个实例源码大全.zip

    苹果ios开发150个实例源码大全: 一个画板,可以选择画笔的颜色 一个简单的page scroll 一个简单的rss阅读器 一个简单的分享到facebookdemo 一个简单的图片编辑器 一个简单的层管理 一个简单的空白页面demo 一个...

    iOS开发教程之Status Bar状态栏设置的方法汇总

    前言 我们在很多app中可以看到不同与导航栏的...在 Info.plist 文件中添加 Status bar is initially hidden 设置为 YES ,这个是隐藏 App 在 LunchScreen(欢迎界面)时的状态栏。 在 Info.plist 文件中添加 View con

    Delphi XE8 iOS与Android移动应用开发(APP开发)[完整中文版]

    Delphi XE8 iOS与Android移动应用开发(APP开发)[完整中文版],这是一本不可多得的介绍使用delphi xe8开发iOS与Android移动应用的电子书,实用的技术开发教程与技术开发手册。 Delphi XE8跨平台开发让你使用一套...

    ios开发小技巧

    iOS开发之UIlabel多行文字自动换行 (自动折行) UIView *footerView = [[UIView alloc]initWithFrame:CGRectMake(10, 100, 300, 180)]; UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 100, 300, ...

    史上最全的ios开发源码

    苹果iOS是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等苹果产品上。iOS与苹果的Mac OS X...

    IOS实例开发源码——自定义Tab Bar的文字、颜色和图片加箭头.zip

    IOS实例开发源码——自定义Tab Bar的文字、颜色和图片加箭头.zip

    ios项目源代码 各种布局控件使用及扩展视图自定义UITableViewCell等源码合集.rar

    ios项目源代码 各种布局控件使用及扩展视图自定义UITableViewCell等源码合集: DTCoreText-1.6.10在UITextView上实现十分丰富的文字效果 ios三级展开列表TQMultistageTableView_10802 ios个性化每个...

    iOS开发中Date Picker和UITool Bar控件的使用简介

    主要介绍了iOS开发中Date Picker和UITool Bar控件的使用简介,代码基于传统的Objective-C,需要的朋友可以参考下

    详解IOS中Tool Bar切换视图方法

    本文通过实例给大家详细讲解了IOS开发中Tool Bar切换视图方法以及原理解释,希望我们的整理对你有用,一起学习下。 iOS中几种典型的多视图程序: (1)Tab Bar Application:程序的底部有一排按钮,轻触其中一个按钮...

    一步一步学习IOS6

    第十四部分:如何在导航界面隐藏Tab Bar 第十五部分:Objective-C基础知识-介绍面向对象的编程 第十六部分:如何在你的iPhone App中发送邮件 第十七部分:持续改善Recipe App的详细视图控制器 第十八部分:在iOS 5中...

    IOS 开发之UISearchBar 详解及实例

    主要介绍了IOS 开发之UISearchBar 详解及实例的相关资料,主要介绍 IOS UISearchBar的使用,附有实例代码,需要的朋友可以参考下

    Delphi XE5移动开发技术研讨会_李维(繁体pdf+源码)

    了解Delphi XE5如何在Android/iOS环境中运行 通往Android/iOS环境的重要观念, 类别/接口和方法 动态呼叫?静态呼叫? 如何呼叫您的Java程序代码 Delphi XE5未封装的API? 了解您的Android App! 了解Delphi XE5如何...

    (0027)-iOS/iPhone/iPAD/iPod源代码-选项卡(Tab Bar)-Customized Tab Bar

    自定义UITabBar。自定义Tab Bar的文字、颜色和图片,以及不同Tab之间切换的动作。可以在tab上面加上小箭头用于显示当前处于哪个tab。支持转屏。 注意:请在Mac下解压使用

    ios自定义柱形图(带动画效果)

    float barWidth,barBetweenWidth,barHeight:分别为柱形图的宽度、间隔宽度、高度 UIColor *barBgColor,*barColor:分别为柱形图柱状底色背景颜色和柱形图柱状颜色 初始化方法: -(void)initWithView; 必选方法...

    一步一步学习_iOS_6_编程(第四版)

    第十四部分:如何在导航界面隐藏Tab Bar 第十五部分:Objective-C基础知识-介绍面向对象的编程 第十六部分:如何在你的iPhone App中发送邮件 第十七部分:持续改善Recipe App的详细视图控制器 第十八部分:在iOS 5中...

Global site tag (gtag.js) - Google Analytics