Recently while updating A LOT of our apps I see that one of the main issues is the content going under a UINavigationController. It appears the solution is rather easy and quick to fix.
public override void ViewDidLoad ()
{
base.ViewDidLoad();
EdgesForExtendedLayout = UIRectEdge.None;
}
This works a treat in most instances,