iOS 同时设置tabbar切圆角和阴影

本tabbar使用的是CYLTabBarController,如下图

这样写完之后,你会发现,切圆角和阴影两者不能共存,因为masksToBounds的含义是指视图的图层上的子图层,如果超出父图层的部分就截取掉

但是这样会导致阴影效果没有

改变策略,切圆角交给UI来完成,直接将背景图片贴上去,然后手动设置上图的阴影部分

so。。。

iOS13之后,设置导航栏和tabbar的方法有更改了

代码如下:

这里,有一行代码很重要,就是重置背景

[appearance configureWithTransparentBackground];

如果没有这行代码,将tabbar的背景颜色设为透明,也无效

查看图层后,发现,UIBarBackground这层的关系,加上[appearance configureWithTransparentBackground];tabbar就是透明的了,这样同时设置tabbar切圆角和阴影的效果就达到了。

但是,还是会有一个瑕疵的问题,vc页的view图层都是占整个屏幕高,所以,会出现下面左右的效果

如vc调用vc,设置frame时,把tabbar高度减掉,就没事

以上,作为学习记录,如果有大佬有更好的实现方法或如何能将可告知,感谢!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容