有的view很好解決有的怎麼也搞不定,可是最後發現,這四行代碼解決全部問題 ios
viewController.edgesForExtendedLayout = UIRectEdgeNone; viewController.extendedLayoutIncludesOpaqueBars =NO; viewController.modalPresentationCapturesStatusBarAppearance =NO; viewController.navigationController.navigationBar.translucent =NO;
一般前兩句就能解決問題,不行加後兩句 spa
若是類自己就繼承UIViewController的話就直接在viewDidLoad或viewDidAppear方法裏 code
self.edgesForExtendedLayout = UIRectEdgeNone;和剩下的三個,否則就像上面這樣
ios7真蛋疼 繼承
補充 ,上面那個其實只是個取巧的作法。這樣會帶了個問題,就是若是跳到不一樣的view有多個通知欄的話,那跳轉以後通知欄的顏色換傳遞個他的parent通知欄(這是個人狀況,不知道其餘人有沒有) io
因此真正要解決的要不就用同一個通知欄,更改上面的信息,要不就用多個通知欄,可是記得要修改parent通知欄的熟悉。像這樣: class
self.parentViewController.edgesForExtendedLayout = UIRectEdgeNone; self.parentViewController.extendedLayoutIncludesOpaqueBars =NO;