`
janedoneway
  • 浏览: 583130 次
  • 性别: 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应用源码之动态tab bar 2018127

    本资源“ios应用源码之动态tab bar 2018127”提供了一个实现动态Tab Bar的示例代码,对于学习iOS开发尤其是自定义Tab Bar功能具有很大的参考价值。 首先,我们要理解iOS中的Tab Bar Controller工作原理。它是由苹果...

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

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

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

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

    ios-SearchBar.zip

    在iOS开发中,`SearchBar` 是一个非常重要的组件,它允许用户在应用内进行文本搜索,从而提高用户体验。这个名为“ios-SearchBar.zip”的压缩包可能包含了一个自定义的搜索框组件,名为 `TFSearchBar`。下面将详细...

    ios的app的navigation bar的代码的实现。

    在iOS开发中,如果你的应用有多个层级的导航,可以使用`UINavigationController`嵌套或者自定义的`UIPanGestureRecognizer`来实现类似树状的导航效果。具体实现方式需要查看源代码才能详细解析。 总之,iOS中的`...

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

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

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

    在iOS开发中,自定义Tab Bar是常见的需求,它能够帮助开发者实现更加个性化和独特的用户界面。本资源“IOS源码——自定义Tab Bar的文字、颜色和图片加箭头.zip”提供了一套实现这一功能的源代码。接下来,我们将详细...

    ios中的searchbar

    在iOS开发中,`UISearchBar` 是一个非常重要的控件,它允许用户在应用内进行文本搜索,提供了直观且易于使用的界面。`UISearchBar` 是苹果iOS SDK的一部分,属于UIKit框架,广泛应用于各种应用程序,尤其是那些需要...

    IOS应用源码之动态tab bar .rar

    在iOS应用开发中,Tab Bar Controller是用户界面(UI)设计的一个重要组成部分,它提供了在多个视图控制器之间切换的功能,通常位于应用底部。本压缩包"IOS应用源码之动态tab bar .rar"包含了一个关于如何实现动态...

    ios-SearchBar和tableView快速索引.zip

    在iOS开发中,`SearchBar`和`TableView`的结合使用是常见的用户界面设计,用于实现高效的搜索功能和快速索引。本项目“ios-SearchBar和tableView快速索引.zip”提供了一个`SearchBarDemo`示例,展示了如何将这两个...

    iOS 自定义视图覆盖状态栏StatusBar

    在iOS开发中,状态栏(StatusBar)是显示时间、网络信号、电量等系统信息的区域。自定义状态栏可以为应用程序增添独特的视觉效果,提升用户体验。本教程将深入讲解如何在不隐藏状态栏的情况下,利用UIWindow视图来...

    iOS 图表 BarChart.zip

    在iOS开发中,图表是一种非常重要的可视化工具,用于展示数据,让信息更加直观易懂。BarChart项目就是专为iOS平台设计的一个动态组件,它专注于实现条形图,这是一种常见的统计图表类型,常用于比较不同类别的数值。...

    IOS源码应用Demo-tab bar controller 自定义颜色和演示demo.zip

    在iOS开发中,Tab Bar Controller(标签栏控制器)是苹果提供的一个非常重要的界面元素,它允许用户在多个视图控制器之间进行切换,每个视图控制器对应Tab Bar上的一个标签。这个压缩包“IOS源码应用Demo-tab bar ...

    ios-UIWindow做的StatusBar.zip

    在iOS开发中,UIWindow是应用界面的基础组件之一,它为用户提供了一个显示内容的窗口,包括应用程序的主要视图控制器和各种界面元素。本教程通过"ios-UIWindow做的StatusBar.zip"压缩包,主要探讨如何利用UIWindow来...

    IOS开发实例-2、进度条、等待动画开始停止

    在iOS开发中,进度条(Progress Bar)和等待动画(Loading Animation)是用户界面中常见的元素,用于向用户展示操作的进度或等待状态。在本实例中,我们将深入探讨如何在iOS应用中实现这两个功能。 首先,让我们...

    IOS应用源码——tab bar controller 自定义颜色和演示demo.zip

    在iOS开发中,Tab Bar Controller(标签栏控制器)是苹果提供的一个系统组件,用于构建具有多个底部导航选项卡的应用程序。这个"IOS应用源码——tab bar controller 自定义颜色和演示demo.zip"压缩包文件包含了关于...

    IOS源码——自定义Tab Bar的文字、颜色和图片加箭头.7z

    在iOS开发中,自定义Tab Bar是常见的需求,它允许开发者根据应用的UI设计和功能需求,对系统默认的Tab Bar进行个性化定制。这个"IOS源码——自定义Tab Bar的文字、颜色和图片加箭头.7z"压缩包提供了一个示例,展示了...

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

    在iOS开发中,Status Bar是显示在屏幕顶部的状态栏,包含电池电量、时间、网络连接等信息。在设计和自定义应用时,调整状态栏的显示方式和颜色是常见的需求。本文将详细介绍如何在iOS中设置Status Bar。 首先,我们...

    IOS应用源码之效果很炫的progress bar .rar

    在iOS开发中,Progress Bar是一种常见的UI元素,用于显示任务的进度或加载状态。这个"效果很炫的progress bar"源码提供了一种创新且吸引用户的进度条实现方式,能够提升用户界面的交互体验。接下来,我们将深入探讨...

    [iOS开发教程-4]Create a UITabBarController from scratch

    在iOS开发中,创建一个`UITabBarController`是构建用户界面的重要步骤,它允许用户通过底部的选项卡在多个视图控制器之间切换。本教程将深入讲解如何从零开始创建一个`UITabBarController`,主要关注源码实现和工具...

Global site tag (gtag.js) - Google Analytics