`

iOS开发之隐藏tabbar解决隐藏后依然不能响应对应位置事件的问题

    博客分类:
  • ISO
ios 
阅读更多
 
状态条StatusBar
1     [UIApplication sharedApplication].statusBarHidden = YES;
导航条NavigationBar
1     [self.navigationController setNavigationBarHidden:YES];
TabBar

方法1

1     [self.tabBarController.tabBar setHidden:YES];

这个方法有问题,虽然tabBar被隐藏了,但是那片区域变成了一片空白,无法被其他视图使用。

方法2

对于navigationController+tabBarController的结构,可以在push下一级的childController之前将childController的hidesBottomBarWhenPushed属性设为YES。

比如,可以在childController的初始化方法中做这件事,代码如下:

 
 1 // The designated initializer.  Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
 2 
 3 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
 4     self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
 5     if (self) {
 6         // Custom initialization.
 7         self.hidesBottomBarWhenPushed = YES;
 8     }
 9     return self;
10 }
 

方法3

http://www.azumi.cc/thread-539502-1-1.html

 
 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     [self setFullScreen:YES];
 3 }
 4 
 5 - (void)viewWillDisappear:(BOOL)animated {
 6     [self setFullScreen:NO];
 7 }
 8 
 9 - (void)setFullScreen:(BOOL)fullScreen {
10     // 状态条
11     [UIApplication sharedApplication].statusBarHidden = fullScreen;
12     // 导航条
13     [self.navigationController setNavigationBarHidden:fullScreen];
14     // tabBar的隐藏通过在初始化方法中设置hidesBottomBarWhenPushed属性来实现。
15 }
       相关文章:http://www.itnose.net/st/6251924.html
分享到:
评论

相关推荐

    iOS仿淘宝自定义TabBar

    在iOS应用开发中,TabBar是用户界面的重要组成部分,它通常位于屏幕底部,用于展示主要功能模块间的切换。淘宝App的TabBar设计独特,不仅具备基础功能,还具有动态隐藏和显示的效果,使得用户界面更加灵活和友好。...

    ios-自定义Tabbar.zip

    在iOS应用开发中,Tab Bar Controller是用户界面中常见的组件,用于展示多个主要功能区域,每个区域通常对应一个单独的导航控制器或者视图控制器。在iOS SDK中,苹果提供了预设的UITabBarController,但有时开发者...

    ios-自定义tabbar主框架.zip

    在iOS应用开发中,自定义TabBar是一种常见的需求,它能提供更加个性化和符合品牌风格的用户界面。本文将深入探讨如何实现一个自定义TabBar的主框架,以及其中涉及的关键知识点。 首先,我们从标题"ios-自定义tabbar...

    隐藏自定义tabbar

    总之,自定义TabBar和隐藏TabBar是提升iOS应用用户体验的关键技术之一。通过理解系统与自定义TabBar的区别,学习如何创建和隐藏自定义TabBar,开发者可以更好地满足用户需求,打造更加精致的移动应用。

    iOS中tabbar的嵌套使用

    在iOS应用开发中,`UITabBarController` 是一个非常重要的组件,它用于实现底部的标签栏界面,让用户可以通过点击不同的标签来切换不同的视图控制器。本文将深入探讨如何在iOS中进行`TabBar`的嵌套使用,以及相关的...

    ios源码之带动画的TabBar样例TabBarAnimation.rar

    6. **Delegate与DataSource**:为了响应TabBar的点击事件,开发者会设置TabBar的代理(delegate),实现`UITabBarControllerDelegate`协议的方法。同时,可能还需要设置数据源(dataSource)以填充TabBar的项目。 7...

    ios TabBar + Navigation纯代码实现

    在iOS应用开发中,TabBar和Navigation是两个非常重要的组件,它们构成了许多应用程序的基础架构。TabBar用于在底部展示多个主功能选项,而Navigation则负责在屏幕顶部提供一个导航栏,帮助用户在不同层级间进行浏览...

    swift版仿映客中间凸出tabBar,上下滑动时隐藏或显示导航栏及标签栏

    在iOS应用开发中,创建一个类似“映客”这样的视频直播平台界面,常常需要实现一些高级的UI交互效果,比如中间凸出的TabBar、在上下滑动时动态隐藏或显示导航栏及标签栏。本教程将重点讲解如何用Swift语言实现这个...

    ios-TabBar控制器切换.zip

    在iOS应用开发中,TabBar控制器是一种常见的导航模式,它允许用户通过底部的TabBar轻松地在多个视图控制器之间切换。"ios-TabBar控制器切换.zip"中的内容显然是一个教学项目,旨在模拟新浪微博应用的TabBar切换效果...

    iOS 自定义简单不规则TabbarController

    在iOS应用开发中,TabBarController是用户界面设计中常见的组件,用于展示多个主要功能模块的切换。本篇文章将深入探讨如何实现一个自定义的、不规则的TabbarController,特别是利用Xib(Interface Builder)来设计...

    ios-tabbar 简单实现的选项卡切换.zip

    Xcode的调试工具如Breakpoint可以帮助查找并解决问题。 通过以上步骤,你将能够实现一个基本的`ios-tabbar`选项卡切换。在实际项目中,可能还需要考虑更多细节,例如响应式设计以适应不同屏幕尺寸,以及动态加载...

    ios-仿QQ TabBar 拖动动效.zip

    在iOS应用开发中,TabBar是用户界面设计中常见的组件,用于展示多个主要功能模块的切换入口。"ios-仿QQ TabBar 拖动动效.zip" 是一个项目资源,旨在实现与QQ应用类似的TabBar拖动效果,增强用户体验。这种动效使得...

    ios-仿今日头条制作的tabBar导航(带夜间模式).zip

    在iOS应用开发中,TabBar是一种常见的导航方式,它允许用户在不同的视图控制器之间进行切换,每个Tab对应一个不同的功能区域。在这个“ios-仿今日头条制作的tabBar导航(带夜间模式).zip”项目中,开发者模仿了今日...

    IOS应用源码之iphone开发技巧UI篇之Tabbar Arrow效果 TabBarAnimation.zip

    总之,“IOS应用源码之iphone开发技巧UI篇之Tabbar Arrow效果 TabBarAnimation.zip”项目提供了一个学习和实践自定义iOS TabBar动画的实例。通过深入研究这个项目,开发者可以掌握自定义控件、动画实现、界面适配...

    iOS Tabbar上添加按钮

    iOS社区有许多优秀的第三方库,如`STTabBarItemButton`、`JDFTooltips`等,它们专门解决此类问题,可以简化开发过程,但引入了外部依赖。 无论选择哪种方法,都要注意保持UI的一致性和用户体验的流畅性。在中间...

    ios-自定义tabBar.zip

    在iOS应用开发中,自定义TabBar是一种常见的需求,它能提供更为个性化和灵活的用户界面。本项目“ios-自定义tabBar.zip”显然旨在教你如何创建一个可以上下联动的导航栏,这种功能常见于许多App中,用于增强用户体验...

    ios-自定义TabBar弹出按钮.zip

    在iOS应用开发中,TabBar是用户界面中的一个重要组成部分,用于提供多个主要功能间的快速切换。然而,系统默认的TabBar可能无法满足所有设计需求,因此开发者常常需要对其进行自定义来实现更丰富的交互效果。本资源...

    自定义TabBar图片

    在iOS和Android应用开发中,TabBar是一种常见的用户界面元素,用于展示多个主要功能区域,让用户可以方便地在这些区域之间切换。系统默认的TabBar虽然简洁,但其样式和功能可能无法满足所有开发者或设计师的个性化...

    TabBar-OC.zip

    在iOS应用开发中,TabBar是一种常见的用户界面组件,它用于在多个视图控制器之间提供导航。本项目“TabBar-OC.zip”是使用Objective-C(简称OC)语言模仿咸鱼应用实现的一个自定义TabBar。这个自定义控件允许开发者...

Global site tag (gtag.js) - Google Analytics