UIScrollView en NavigationController ignora la guía de layout superior

He visto preguntas similares sobre transiciones personalizadas ( iOS7 Custom ViewController transition y la guía de layout superior y la guía de layout de la parte superior del controller de navigation no se respetan con la transición personalizada ), pero tengo problemas incluso con push regular. Estoy usando el último Xcode disponible ahora (versión 5.1.1 (5B1008)).

Aquí está mi guión gráfico: guión gráfico El problema ocurre en 3er VC

Aquí hay 3 configuraciones de VC: introduzca la descripción de la imagen aquí

El layout de mi tercer controller es el siguiente:

UIView UIScrollView InnerUIView Other views 

He intentado dos forms diferentes de crear un layout:

Ignore la guía de layout superior (tiene y = 64 debido a la barra de navigation)

Puse la tapa de scrollview en el contenedor (ignorando topLayoutGuide), configuré manualmente la altura de la vista interior y fijé su parte superior en scrollView. Me dio el siguiente resultado: introduzca la descripción de la imagen aquí

Parece bien, ¿pero por qué necesito una guía de layout superior?

Utilice la guía topLayout

La parte superior de ScrollView está fijada a topLayoutGuide. introduzca la descripción de la imagen aquí

Como puede ver, el button superior se movió hacia abajo y la vista se ve extraña.

¿Cuál es la forma correcta de crear dichos layouts?

Tuve el mismo problema y pasé horas tirando mi cabello. La vista de mi contenedor dentro de scrollview tenía una corrección superior extraña a pesar del hecho de que tenía un set de restricciones superior. La solución encontrada: debe desmarcar Adjust Scroll View Insets en las opciones de layout del controller

introduzca la descripción de la imagen aquí

de esa manera, la vista de contenido (en mi caso) permanece fija en la parte superior de scrollview.

Lamentablemente, no pude encontrar ninguna explicación razonable de este comportamiento.

En mi caso, Xcode 7 y 8, tuve que desmarcar las 'Inscripciones de vista de desplazamiento' para las vistas en mi controller de vista de navigation. Y sí, desperdició demasiado time antes de pensarlo.

introduzca la descripción de la imagen aquí