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

本文主要是介绍iOS开发之隐藏tabbar解决隐藏后依然不能响应对应位置事件的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章来源: http://www.itnose.net/detail/6251924.html
更多文章: http://www.itnose.net
状态条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)hide2 {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解决隐藏后依然不能响应对应位置事件的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/944781

相关文章

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

CentOS 7 YUM源配置错误的解决方法

《CentOS7YUM源配置错误的解决方法》在使用虚拟机安装CentOS7系统时,我们可能会遇到YUM源配置错误的问题,导致无法正常下载软件包,为了解决这个问题,我们可以替换YUM源... 目录一、备份原有的 YUM 源配置文件二、选择并配置新的 YUM 源三、清理旧的缓存并重建新的缓存四、验证 YUM 源

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock

MySQL启动报错:InnoDB表空间丢失问题及解决方法

《MySQL启动报错:InnoDB表空间丢失问题及解决方法》在启动MySQL时,遇到了InnoDB:Tablespace5975wasnotfound,该错误表明MySQL在启动过程中无法找到指定的s... 目录mysql 启动报错:InnoDB 表空间丢失问题及解决方法错误分析解决方案1. 启用 inno

Java使用MethodHandle来替代反射,提高性能问题

《Java使用MethodHandle来替代反射,提高性能问题》:本文主要介绍Java使用MethodHandle来替代反射,提高性能问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录一、认识MethodHandle1、简介2、使用方式3、与反射的区别二、示例1、基本使用2、(重要)

mybatis的mapper对应的xml写法及配置详解

《mybatis的mapper对应的xml写法及配置详解》这篇文章给大家介绍mybatis的mapper对应的xml写法及配置详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录前置mapper 对应 XML 基础配置mapper 对应 xml 复杂配置Mapper 中的相

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

电脑蓝牙连不上怎么办? 5 招教你轻松修复Mac蓝牙连接问题的技巧

《电脑蓝牙连不上怎么办?5招教你轻松修复Mac蓝牙连接问题的技巧》蓝牙连接问题是一些Mac用户经常遇到的常见问题之一,在本文章中,我们将提供一些有用的提示和技巧,帮助您解决可能出现的蓝牙连接问... 蓝牙作为一种流行的无线技术,已经成为我们连接各种设备的重要工具。在 MAC 上,你可以根据自己的需求,轻松地