UISplitViewController dentro de la barra de tabs

Tengo una aplicación que tiene una pantalla de inicio de session y cuando el usuario inicia session, se presiona un controller de barra de tabs. Actualmente tengo algunas vistas que se beneficiarían del hecho de que Apple ahora permite usar el controller de vista dividida en todos los dispositivos iOS, así que me estaba preparando para implementar esto cuando leí que UISplitViewController siempre debe ser el controller de vista raíz. Entonces, me preguntaba si es posible hacer que la vista en una de las tabs se convierta en una vista de detalle maestro usando un UISplitViewController o ¿tendré que implementar esto manualmente?

En caso de que no sea posible mostrar la vista dividida como una pestaña, ¿podría ser empujada desde el controller de la barra de tabs? (por ejemplo, el usuario toca una fila en una vista de tabla y aparece la vista de detalle maestro).

Definitivamente puede incrustar un UISplitViewController dentro de un UITabBarController . Lo he hecho solo para una aplicación que publiqué en App Store. Tiene 3 tabs y cada una es un controller de vista dividida.

Simplemente arrastre un controller de barra de tabs a su Storyboard, elimine los dos controlleres que agregó y luego arrastre un controller de vista dividida. Controle el arrastre desde el controller de la barra de tabs al controller de vista dividida y select la relación de "controlleres de vista" segue.

En las versiones de Xcode inferiores a Xcode 8, puede ver barras negras o blancas en la parte superior e inferior del controller de vista dividida en el canvas de Interface Builder, pero éstas no aparecerán cuando la aplicación se ejecute en un dispositivo.

introduzca la descripción de la imagen aquí

Aquí está la aplicación que se ejecuta para mostrar la vista dividida incrustada dentro del controller de barra de tabs en iPhone 6s Plus:

introduzca la descripción de la imagen aquí

Cuando coloca un UISplitViewController dentro de un UITabBarController y la barra de tabs se configura como opaque , tiene un problema en el que el contenido de UISplitViewController se desplaza al tamaño de la barra de tabs :

introduzca la descripción de la imagen aquí

Para solucionar este problema, debe marcar la casilla Bajo barras opacas en su UISplitViewController en su guión gráfico:

introduzca la descripción de la imagen aquí

Y ahora el tamaño de vista de UISplitViewController se calcula correctamente:

introduzca la descripción de la imagen aquí

También hay un problema al usar este enfoque en iPhone (> IOS8) donde splitviewcontroller está en modo queuepsado. Cuando empujamos la vista de list a la vista de detalles, no podemos ocultar el tabbarcontroller usando el "hidesBottomBarWhenPushed" convencional. Entonces agregué TabBarcontroller como root viewcontroller de un control de navigation. Ahora cuando presiono la vista de detalles, envío el post al controller de navigation raíz y presiono la vista a la instancia de vista de detalles en modo queuepsado, mientras que en el modo normal simplemente presiono usando showDetailsViewController ()