一句话去掉导航栏下的黑线

天下武功唯快不破,写代码也是一样,能用最简单的代码实现我们的需求,我觉得这才是一个程序员走向无敌的象征。无敌是多么寂寞。。。。

在我没有把绝世秘籍传授给大家之前,我想很多人是这么修炼自己,用了如下一大堆代码实现去掉导航栏下的黑线

一句话去掉导航栏下的黑线_第1张图片

其实我告诉大家只要这么一句

self.navigationController.navigationBar.subviews[0].subviews[0].hidden = YES;

是的 就是这么一句  便可以一招制敌     当然为师传授给你们技能的同时还要传授给你们内功,这样你们才能在通往无敌的道路上走得更远。

我们先来看看导航栏视图结构是个什么样子

一句话去掉导航栏下的黑线_第2张图片
这一层是UINavigationBar

一句话去掉导航栏下的黑线_第3张图片
这一层是UIBarBackground


一句话去掉导航栏下的黑线_第4张图片
这一层是UIImageView

相信在为师的带领下,聪明的弟子已经发现。原来传说中的导航栏中的黑线不过就是UINavigationBar的一个子视图。通过图层关系我们可以看到黑线(imageViwe)-->是UIBarBackground的子视图-->是UINavigationBar的子视图    这样层次关系搞清楚了 就简单了  只要取出这个子视图  然后隐藏掉就可以了

相信在座的弟子们都知道 iOS中  图层结构是一数组的形式保存   不知道的可以看上面三张图依次打开的结构

既然是数组  那就一切一目了然,通过数组的属性方法获取即可。

self.navigationController.navigationBar.subviews[0].subviews[0].hidden = YES;


你可能感兴趣的:(一句话去掉导航栏下的黑线)