將self.navigationController.navigationBar.translucent = NO;放在控制器生命周期的viewWillAppear中處理即可
解決原因猜想
這個(gè)問題是發(fā)現(xiàn)在11.0.3版本上的脊串,之前較低的版本并沒有這個(gè)問題,所以應(yīng)該是蘋果在新版本中更改了控制器生命周期中一些方法的具體工作內(nèi)容清钥,因?yàn)閷?dǎo)航欄是在Appdelegate中生成的琼锋,所以在控制器中本身是已經(jīng)存在的,對(duì)于一個(gè)已經(jīng)存在的對(duì)象修改其外表屬性發(fā)現(xiàn)沒有效果祟昭,結(jié)果可能就是這個(gè)對(duì)象還沒有進(jìn)入渲染和展示缕坎,進(jìn)一步推斷,蘋果在新版本中將viewDidLoad里部分負(fù)責(zé)渲染和展示的工作移動(dòng)到了下一個(gè)生命周期篡悟。即:viewWillAppear谜叹。