美文网首页
隐藏Tabbar 解决该区域点击事件

隐藏Tabbar 解决该区域点击事件

作者: 古月纳兰 | 来源:发表于2018-01-24 17:04 被阅读0次

    最近在做的项目,大部分是H5。首页整个模块是H5写的,下面的tabbar是原生的,点击首页商品,跳转到详情,隐藏tabbar,因为没有push,所以用的hidden,但是发现原tabbar区域的点击事件点击不了,搞了好长时间,终于算是解决了。
    使用下面的方法打印 数组中有两个子控件(UITransitionView,UITabBar)

    po self.tabBarController.view.subviews
    

    打印如图所示


    image.png

    所以光用 self.tabBarController.tabBar.hidden = YES 并没有什么用,虽然看图层也没看见前面有view遮挡,但是它确实是存在的,要不然点击事件没反应。同时也要把tabbar的frame至为0,下面的代码就是了

    // 显示隐藏tabbar
    - (void)isShowTabBar:(BOOL)show
    {
        if (show)
        {
            _webView.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT-SafeAreaNavHeight-SafeAreaBarHeight);
            _transtionView = [self.tabBarController.view.subviews objectAtIndex:0];
            _transtionView.frame = CGRectMake(_transtionView.bounds.origin.x,  _transtionView.bounds.origin.y,  _transtionView.bounds.size.width, _transtionView.bounds.size.height + SafeAreaTureBarHeight);
            self.tabBarController.tabBar.frame = CGRectZero;
        }else{
            _webView.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT-SafeAreaTureBarHeight-SafeAreaNavHeight);
            _transtionView = [self.tabBarController.view.subviews objectAtIndex:0];
                _transtionView.frame = CGRectMake(_transtionView.bounds.origin.x, _transtionView.bounds.origin.y,  _transtionView.bounds.size.width, _transtionView.bounds.size.height - SafeAreaTureBarHeight);
            self.tabBarController.tabBar.frame = CGRectMake(0, SCREEN_HEIGHT - SafeAreaTureBarHeight, SCREEN_WIDTH, SafeAreaTureBarHeight);
        }
            self.tabBarController.tabBar.hidden = show;
    }

    相关文章

      网友评论

          本文标题:隐藏Tabbar 解决该区域点击事件

          本文链接:https://www.haomeiwen.com/subject/vdiyaxtx.html