隱藏 navigation bar 的陰影底線

從 iOS 6 開始, navigation bar 最下方都有一條陰影。

在 iOS 6 上我都是使用偷吃步來處理,用 320*45px 的圖片蓋住1px的陰影。


[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"header.png"] forBarMetrics:UIBarMetricsDefault];


到了 iOS 7 上發現陰影永遠都在最上層,我把圖片改成 320*64px ( 多出的 20px 是 status bar),第一行方法名稱也換了。


[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"headerIos7.png"] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:[UIImage new]];


這方法不適用於 setBackgroundColor ,因為 setShadowImage 似乎要與 setBackgroundImage 一起使用。

發表迴響