您的位置:首页 > 其它

导航栏切换遇上MWPhotoBrowser

2016-11-09 10:01 330 查看
    由于项目需要,接入了MWPhotoBrowser作为图片展示,但是在从MWPhotoBrowser pop回到自己的控制器上的时会先有一层黑色的视图,一秒钟左右又自己消失了。在视图层级上查看发现黑色的是一个UIVisualEffectView,百度了很久没找到准确的解决方案,自己尝试了很久终于解决了这个问题,记录一下。

    自己的控制器简称A,导航栏背景色设置为白色(translent = NO,严重怀疑是因为我设置了这个属性才会出现这种情况),MWPhotoBrowser简称M控制器,M对于导航栏的设置是采用在viewWillAppera的时候储存所处的导航栏的关于颜色和translent的设置,然后M控制器自己设置导航栏颜色为黑色,translent=YES,这个导致了导航栏上面会出现UIVisualEffectView,有一种毛玻璃的效果,M控制器在viewWillDisappear中把之前储存的navigationBar的颜色之类的设置还原。

    于是为了项目只能在MWPhotoBrowser中修改,把translent设置为NO,这时候再切换控制器时还是会有黑色view出现一会然后消失,在视图层级中看到是UIBarBackground这个view,于是就在A控制器中写了一个方法,遍历导航栏找到UIBarBackground这个view,然后将其颜色设置为白色,在viewWillApperar中调用这个方法。现在视图控制器切换的时候不会出现黑色视图,但是感觉解决办法并不是那么好,如果有更好方法的欢迎交流。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: