//設置全透明方式html
1、徹底不用圖片(iOS7以後有效)
[self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
self.navigationBar.translucent = YES; //iOS7必須顯示指定,不然無透明
self.navigationBar.shadowImage = [UIImage new]; //若bar是全透明,用此幹掉bar底的線ios
2、使用一張1*1的全透明圖片(此方式iOS七、8都沒必要再設置shadowImage,可是iOS要設置translucent)以下:
[self.navigationBar setBackgroundImage:aImage forBarMetrics:UIBarMetricsDefault];
self.navigationBar.translucent = YES; //iOS7必須顯示指定,不然無透明post
//自定義透明度
1、方式使用必定透明度的圖片(必須使用自定義圖片)
[self.navigationBar setBackgroundImage:aImage forBarMetrics:UIBarMetricsDefault];
self.navigationBar.translucent = YES; //iOS7必須顯示指定,不然無透明url
注意:spa
//會影響navigationBar設置的因素。
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]){
self.edgesForExtendedLayout = UIRectEdgeAll;
}.net
** 當將爲viewController設置以下屬性時,self.edgesForExtendedLayout = UIRectEdgeNone; 再對navigation進行任何風格的設置都不會再生效。(除了是否隱藏這個屬性)。詳情能夠參考以下:htm
IOS7新特性 edgesForExtendedLayoutblog