首页 > 技术文章 > 设置导航栏背景图片出现的问题

wanxudong 2016-07-12 15:38 原文

今天要在项目中为导航栏设置一张红色的背景图,出现了以下bug:

导航栏下出现了一块莫名其妙的空间,网上找了很多资料。

最后发现需要在控制器里设置这行代码:self.navigationController.navigationBar.translucent = NO;

如果加入导航栏背景图片而不设置translucent则默认设置为NO

translucnet属性控制导航栏是否是半透明效果。

如果translucent = yes,则状态栏及导航栏底部为透明的,界面上的组件应该从屏幕顶部开始显示,因为是半透明的,可以看到,所以为了不和状态栏及导航栏重叠,第一个组件的y应该从44+20的位置算起。

如果设置成no,则状态栏及导航样为不透明的,控件的位置从导航栏下面开始算,即不需要再+64。

推荐阅读