Pregunta Problema de longitud de la guía de disposición inferior con tabbar después de empujar


Entonces mi problema está relacionado con el diseño automático y la guía de diseño inferior.

Aquí está el diseño de la aplicación:

UITabBarController

^ - Tab1: NavigationController con VC1 como root

^ - VC2 se empuja y oculta la barra de pestañas (pantalla completa, el diseño superior se encuentra debajo de la barra de navegación, el diseño inferior debe ser el píxel más bajo).

Cuando se presiona VC2, la guía de diseño inferior tiene 49 puntos de longitud durante una pequeña cantidad de tiempo y luego es 0.

Durante este tiempo, mis subvistas que están restringidas a esta guía inferior están posicionadas incorrectamente.

Cuando la guía se establece correctamente en 0 (por el controlador de navegación en sí, no hay un código mío sobre esto), las posiciones de las subvistas son entonces perfectas.

cast

Esto no ocurre en iOS 7.x (la aplicación admite 7.0 +) ... Estoy bastante seguro de que es un error de iOS 8 y estaba buscando una solución, pero no pude encontrar algo que soluciona esto.

Traté de resolver el problema forzando la vista de los controladores de navegación a la distribución en vista (Will / Did) LayoutSubviews, pero no ayudó.

Yo vi esta publicación está relacionado, pero la solución sugerida no funciona. Presentar el VC2 resuelve de manera modal el problema, pero eso no es aceptable.

Gracias de antemano por su ayuda, avíseme si necesita más explicaciones


15
2017-10-01 22:21


origen


Respuestas:


Estoy teniendo un problema similar como este con un UIPageViewController. Después de algunas investigaciones iniciales, parece ser un error. La única forma en que pude resolver esto es fijar la subvista en la supervista en lugar de la guía de diseño inferior.

Pin to superview image

La restricción parece respetarse una vez que la subvista se ancla en la supervista.

Espero que esto ayude.


20
2017-10-06 15:10



Si está utilizando Diseño automático, intente desmarcar la configuración "Extender bordes-> Debajo de barras inferiores" para TabBarController y todos sus ViewControllers en Interface Builder.


3
2018-03-20 05:37



Solucioné mi problema al configurar la barra de pestañas translúcida como No

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    self.tabBarController.tabBar.translucent = NO;
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    self.tabBarController.tabBar.translucent = self.isTabBarTranslucent;
}

1
2017-09-07 01:47