2019-07-02

作者: 这个昵称就已经很帅气了 | 来源:发表于2019-07-02 15:37 被阅读0次

    最近项目里面出现了一个很奇怪的问题,我的项目的主框架是一个tabbarContorller,里面包含了三个ViewController,第一个ViewController的导航栏是隐藏的,其他两个是显示的;然后我点击tabbar切换界面的时候,回到第一个界面,在第一个界面底部会出现一块不能点击的区域(宽度和屏幕宽度一样,高度大概也是tabbar的高度)导致这个区域里面的点击事件都不能响应;

    01.png

    如01.png所示,切换回来的界面,红框内的点击事件都不会响应,导致播放按钮点击不了;

    百度了很久还是没有找到对应的解决方法,后来我在tabbarContorller的touchesBegan方法里面,检测到我点击的区域到底是什么东西了:

    UITransitionView和UIViewControllerWrapperView,这两个类都是不对外开放的类,所以需要用NSClassFromString方法去获取:

    02.png

    解决的办法也是如图(02.png)所示,将点击到的view的高度改为0;

    但是此方法不是最佳的方法,因为还是需要点击相应的区域1-2次之后,才能使界面的响应事件恢复正常;

    mark一下,希望以后能找到更好的方法解决这个问题;

    相关文章

      网友评论

        本文标题:2019-07-02

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