I'm pushing ViewControllers on NavigationController by segues. I have my own subclassed NavigationController which has inserted
self.view.backgroundColor = [UIColor clearColor]
It's because of the standard
UINavigationController push animation in iOS 7. When a new VC is pushed onto the stack, it overlays itself on top of the previous VC, with a slight shadow underneath it. As such, when you push your viewControllers which have clear backgrounds, you see through to the shadow when the transition takes place.
There are a couple of possible solutions:
UINavigationControllercategory to add a simpler 'retro' push and pop animation, as per this answer. This is more of a quick and hacky solution.