Navigation bar stop being translucent when self.edgesForExtendedLayout = UIRectEdgeNone

I have the same issue right now. So if you need to keep translucent navigation bar you should change not edges but insets. Here is the code, that helps me.

if(floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) {
      CGRect statusBarViewRect = [[UIApplication sharedApplication] statusBarFrame];
      float heightPadding = statusBarViewRect.size.height+self.navigationController.navigationBar.frame.size.height;

      myContentView.contentInset = UIEdgeInsetsMake(heightPadding, 0.0, 0.0, 0.0);
}

Hope this helps.


Translucent means that the content under the bar can be seen through the translucency. By turning off the extended edges, the translucency is still there, simply you cannot see it because there's not content below.