Sombra gris en UINavigationBar

Estoy experimentando un extraño problema cuando comparto un UIViewController que hice. ViewController B (el que segue a) tiene una UIView que se desliza hacia abajo usando el TransitionCoordinator y las restricciones, pero muestra una sombra gris a la derecha, así:

introduzca la descripción de la imagen aquí

Una vez que el segue está completamente terminado, vuelve a ser translúcido y muestra la vista UIV azul a través de UINavigationBar con un bonito desenfoque.

Es probable que esta sombra gris se deba a un UIToolBar y a UISegmentedControl dentro de esa barra de herramientas en el UITableViewController del que procedo. Se parece a esto:

introduzca la descripción de la imagen aquí

Estoy usando este código junto con mi UIToolBar:

- (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar { return UIBarPositionTopAttached; } 

He tratado de usar un TransitionCoordinator para desvanecer el UIToolBar usando su propiedad alfa, pero sin éxito. También he visitado otras preguntas similares en SO, pero no he llegado a ninguna parte.

Lo extraño es que a veces funciona como debería, pero no puedo entender por qué no siempre sucede ni cómo eliminarlo por completo.

ACTUALIZAR:

Jerarquía de vista de Xcode:

introduzca la descripción de la imagen aquí

Ver jerarquía en la list:

introduzca la descripción de la imagen aquí

Navegación transparente Barra:

introduzca la descripción de la imagen aquí

ACTUALIZACIÓN 2:

Al bajar el UITableView también se muestra esto, ¿cómo puedo adjuntar el UIToolbar? Parece que los methods delegates no funcionan bien

introduzca la descripción de la imagen aquí

Por favor, ayúdeme con esto, gracias!

Una vez que finaliza su transición personalizada, el controller de vista saliente se eliminará de su contenedor. Probablemente sea por eso que está viendo que el área gris desaparece cuando se completa la transición. Es algo en el controller de vista anterior. Puedo replicar parcialmente tu captura de pantalla creando un UIViewController que sea una vista que tenga un background transparente. Usando la animation estándar, aparece el gris del color de background pnetworkingeterminado de UIWindow. Dado que la position del controller de vista anterior está ligeramente a la derecha, solo aparece en el lado derecho de la barra de navigation.

La mejor manera de descubrir exactamente qué está sucediendo es colocar un punto de interrupción en el que está llamando completeTransition: o hacer una pausa en el depurador manualmente durante la animation. A continuación, puede utilizar el depurador de Vista jerárquica de Xcode para averiguar qué vista nos está causando esto:

introduzca la descripción de la imagen aquí

Una vez que descifres exactamente qué vista es, querrás asegurarte de que se anima junto con tu animation actual (no después de ella) y querrás asegurarte de que completeTransition: se invoca después de completar ambas animaciones.

Experimento el mismo problema y la causa fue que el color de background de la window era negro.

Lo solucioné configurando el color de la window para que coincida con el color de background de los controlleres de vista en la application:didFinishLaunchingWithOptions .