ios7适配 通知栏UINavigationBar遮挡view的问题


有的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;
相关文章
相关标签/搜索