iOS中 点击按钮无响应

这几天遇到个问题,当我登录APP后,去签到界面,点击上班打卡/下班打卡无响应,最后百度,以及自己的多次尝试,发现:

1、我在push到此界面是隐藏了TabBar,但是隐藏后TabBar这部分就没有了,不占有屏幕Frame;

2、紧接着,我建立的UIButton的frame正好是和TabBar重合的,即Button的frame不在屏幕上了,超出了屏幕,但仍然能够显示UIButton,在隐藏的TabBar的地方显示,这是点击UIButton就和无响应。

 

从1、2问题中我们分析发现,问题1是产生问题2的主要原因,我们只需要解决问题1就OK了。

解决办法:

  如果在push跳转后,下一个界面需要隐藏TabBar,我们只需要在:

  1、在push时,设置当前试图控制器隐藏TabBar,即设置:.hidesBottomBarWhenPushed = YES

  代码示例:

      LYMainViewController *lyMainVC = [[LYMainViewController alloc]init];          

        lyMainVC.hidesBottomBarWhenPushed = YES;

          [self.navigationController pushViewController:lyMainVC animated:YES];

  2、在push的界面中设置隐藏TabBar

    self.tabBarController.tabBar.hidden = YES;

//并在push后设置self.hidesBottomBarWhenPushed=NO;

//这样back回来的时候,tabBar会恢复正常显示。

注意:隐藏tabBar之后,底部tabBar的高度49那块变黑了,可以看下视图的层级结构,肯定是最外层的tabview或者View的高度不对

 

 

 


 

posted @ 2016-11-04 18:48  SuiYiEn  阅读(752)  评论(0编辑  收藏  举报