本tabbar使用的是CYLTabBarController,如下图
这样写完之后,你会发现,切圆角和阴影两者不能共存,因为masksToBounds的含义是指视图的图层上的子图层,如果超出父图层的部分就截取掉
但是这样会导致阴影效果没有
改变策略,切圆角交给UI来完成,直接将背景图片贴上去,然后手动设置上图的阴影部分
so。。。
iOS13之后,设置导航栏和tabbar的方法有更改了
代码如下:
这里,有一行代码很重要,就是重置背景
[appearance configureWithTransparentBackground];
如果没有这行代码,将tabbar的背景颜色设为透明,也无效
查看图层后,发现,UIBarBackground这层的关系,加上[appearance configureWithTransparentBackground];tabbar就是透明的了,这样同时设置tabbar切圆角和阴影的效果就达到了。
但是,还是会有一个瑕疵的问题,vc页的view图层都是占整个屏幕高,所以,会出现下面左右的效果
如vc调用vc,设置frame时,把tabbar高度减掉,就没事
以上,作为学习记录,如果有大佬有更好的实现方法或如何能将可告知,感谢!
网友评论