設(shè)置navigationbar背景圖片的時候,真機測試,可能會出現(xiàn)真機向下移動64,或者是navigationbar沒有設(shè)置成功,導(dǎo)致self.view的開始y值為整個屏幕的0開始而不是navigationbar后的0迈喉!iOS7之后由于navigationBar.translucent默認(rèn)是YES蝉衣,坐標(biāo)零點默認(rèn)在(0,0)點 當(dāng)不透明的時候,零點坐標(biāo)在(0,64)
設(shè)置navigationbar的背景圖片
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@""] forBarMetrics:UIBarMetricsDefault];
解決辦法
在viewcontroller的viewdidload中設(shè)置,translucent屬性默認(rèn)是YES,也就是具有透明屬性。所以我們看到的導(dǎo)航欄背景色與美工給的會有很明顯的色差。
當(dāng)translucent = YES歌憨,controller中self.view的原點是從導(dǎo)航欄左上角開始計算。
當(dāng)translucent = NO墩衙,controller中self.view的原點是從導(dǎo)航欄左下角開始計算务嫡。
self.navigationController.navigationBar.translucent = NO;//取消透明度
或者把需要設(shè)置的圖片透明度設(shè)置為99%。