0

对UITabbar进行hidden, self.tabBarController.tabBar.hidden = YES;跟tabbar位置对应的下层的按钮的点击事件无法被触发。
1、这是什么怎么回事?
2、有什么好的解决办法?
3、如何像hidesBottomBarWhenPushed一样隐藏UITabbar?

1、尝试过移动tabbar的位置,但是按钮事件一样没办法被触发
2、keyWendow上添加view没办法满足需求

3个回答

1

按钮点击事件无法触发 这种建议查看下按钮是否添加在了父视图的有效范围内,如果按钮位置超出父视图会导致事件无法传递。

0

改透明度试试

0

Q1: 我觉得是tabbar挡住了其他控件, 导致无法点击
Q2: 显而易见改下被遮挡控件的frame

补充下控件无法响应的几种常见的情况, 题主可以排查下:
    控件被隐藏                 hidden
    控件的透明度 ≤ 0.01        alpha
    用户交互被关闭              User Interaction
    子控件超出父控件的有效范围    图层Layer

Q3: 隐藏tabbar的方法:

假设一级页面正常显示tabbar, 二级页面不显示tabbar (类似微信朋友圈)
我采取的方法是: 重写ViewWillAppear, 在view显示之前, 就隐藏tabbar (注意一级页面要设置 hidden = NO)
    // 一级界面
    - (void)viewWillAppear:(BOOL)animated {
    
        [super viewWillAppear:animated];
    
        // 不隐藏 tabbar
        self.tabBarController.tabBar.hidden = NO;
    
    }
    // 二级界面
    - (void)viewWillAppear:(BOOL)animated {
    
        [super viewWillAppear:animated];
    
        /** 隐藏 tabbar **/
        self.tabBarController.tabBar.hidden = YES;
    
    }

撰写答案