navigationcontroller的navigationBar

在修改navigationController.navigationBar.barTintColor时,会发现和内容设置的颜色值一样但效果不一样的情况.因为navigationBar默认是半透明的.添加代码 self.navigationController.navigationBar.translucent = NO;

发现,这时候颜色可能对了,但又会发现navigation下的内容总体下移了64个像素.这是因为extendedLayoutIncludesOpaqueBars默认值是NO,即默认包含了不透明的bars的.这里已经把默认是透明的navigationBar改为了不透明,当然就下移了

所以还需要把self.extendedLayoutIncludesOpaqueBars = YES;

在发现,都设置完后,navigationBar的底部还是有条边界线,这里不符合需要.我们可以通过

[self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];

self.navigationController.navigationBar.shadowImage = [[UIImage alloc] init];

这两行代码修改颜色来达到看不见的效果

你可能感兴趣的:(ios)