美文网首页
关于iOS导航栏透明度的问题

关于iOS导航栏透明度的问题

作者: PKL | 来源:发表于2019-07-27 23:40 被阅读0次

一直以来都没有特别细致的去处理导航栏问题,今天有个小需求,导航栏一开始透明,随着scrollView滚动而变为变色,本来想着这就是一个很简单的问题,无非是:

//设置导航栏背景图片为一个空的image,这样就透明了

        UIImage*image = [[UIImagealloc]init];

        [self.navigationController.navigationBar setBackgroundImage:image

                                                      forBarMetrics:UIBarMetricsDefault];

        //去掉透明后导航栏下边的黑边

        [self.navigationController.navigationBar setShadowImage:[[UIImage alloc] init]];

这么简单的代码,但是实际这么做了却发现导航栏变成了很色。

于是开始思考,只要不是通过创建一个图片对象来做导航栏透明色,而用barTintColor变成别的颜色都是正常的,难道是因为导航栏透明度问题?于是乎加了这句代码:

self.navigationController.navigationBar.translucent = YES;

就解决了。

如果是透明的导航栏图片,那么导航栏本身也得是可透明的。

相关文章

网友评论

      本文标题:关于iOS导航栏透明度的问题

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