隐藏tabbar之后在原位置新建View不响应点击事件的方法
2015-11-24 10:08
232 查看
这里指的不是跳转页面之后隐藏tabbar,如果是跳转后隐藏直接hidebarButtonItem = yes就搞定,这里是本页面隐藏之后在原tabbar位置新建一个view,并在view上添加按钮,但是接受不到点击事件,在网上看了很多人都遇到这个问题,但是解释的都不够,后来自己摸索了一个方法,拿来分享,欢迎指正。
首先就是两个方法,隐藏和显示tabbar
541370008@qq.com
首先就是两个方法,隐藏和显示tabbar
//隐藏tabbar - (void)hideTabBar { if (self.tabBarController.tabBar.hidden == YES) { return; } UIView *contentView; if ( [[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] ) contentView = [self.tabBarController.view.subviews objectAtIndex:1]; else contentView = [self.tabBarController.view.subviews objectAtIndex:0]; contentView.frame = CGRectMake(contentView.bounds.origin.x, contentView.bounds.origin.y, contentView.bounds.size.width, contentView.bounds.size.height + self.tabBarController.tabBar.frame.size.height); self.tabBarController.tabBar.hidden = YES; } //显示tabbar - (void)showTabBar { if (self.tabBarController.tabBar.hidden == NO) { return; } UIView *contentView; if ([[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]]) contentView = [self.tabBarController.view.subviews objectAtIndex:1]; else contentView = [self.tabBarController.view.subviews objectAtIndex:0]; contentView.frame = CGRectMake(contentView.bounds.origin.x, contentView.bounds.origin.y, contentView.bounds.size.width, contentView.bounds.size.height - self.tabBarController.tabBar.frame.size.height); self.tabBarController.tabBar.hidden = NO; }在你需要调用的地方调用这两个函数就可以了,然而重点并不在这里,这些代码百度到处都是,重点是,当你隐藏之后在原位置添加一个VIew但是接受不到点击事件,一开始遇到这个问题我认为是View的交互事件没有打开,因为新建的View可以显示,并没有被遮住,说这么多,一句最简单的代码搞定问题
[self.tabBarController.view addSubview:viewForEidit];其中viewForEdit是我自己新建的view,初始化过程等就不赘述了。尝试很多方法后,之前一直是把viewForEdit加在self.view上,所以一直无果。这里面的机制我也没有搞清楚,但是就是可以实现。希望大家明白深入一点的可以多指教。
541370008@qq.com
相关文章推荐
- 脚本Remove Google Results Redirect在更改本机host导致无效的解决办法
- 随想16:生活中存在一种只有负能量的人
- 安卓混合开发中原生页面与web页面的交互
- 各种排序算法的分析及java实现
- 28.c/c++程序员面试宝典-继承时的类作用域
- PHP 正则表达式截取HTML
- 2015年我做了什么
- ios9 支付宝支付跳网页不跳 客户端
- DFS应用——查找强分支
- shareSDK使用心得
- 使用 GNU Libtool 创建库
- HTTPie:一个不错的 HTTP 命令行客户端
- Eclipse 错误解释
- mysql中DATETIME,DATE和TIMESTAMP的区别整理
- WPF文本换行
- 问题:oracle 排序 null值放在最后;结果: ORACLE中null的排序问题
- 不能修改“System Roots”钥匙串 即下载的.cer 文件添加不到钥匙串
- could not read symbols: Archive has no index;
- 美化必备,<#ffffffff>语句的解析和透明度数值参照表
- JQuery.Ajax()的data参数类型