Tengo un problema, cuando me puse la caja traslúcida en un TabBar, hay algo que bloquea algunos de mi vista.

Parece que es una especie de extra en la barra de pestañas o incluso no sé. Estoy usando el guión gráfico.

Por favor vea las imágenes que se adjuntan:

Con Translúcido (OFF – NO):

iOS 7 TabBar Translúcido problema

Con Translúcido (o SÍ):

iOS 7 TabBar Translúcido problema

¿Alguien sabe por qué se parece esto?

Gracias

PS: Que tabBar les gusta? Negro o esta otra:

iOS 7 TabBar Translúcido problema

  • de acuerdo con los botones de’ fondo yo personalmente preferiría «en blanco», una barra de pestañas
  • Desde el punto de UX punto de vista, el blanco es la plataforma más consistente.
  • Esta podría ser la respuesta stackoverflow.com/questions/19325677/…

5 Comentarios

  1. 75

    Esto sucede en iOS7 cuando se establece tabBar.translucent a NO. iOS está tratando de ser inteligente y decir «hey la tabbar no es translúcido, de modo que es mejor empujar todo en la parte superior de la misma». Solucionar mediante la configuración de la extendedLayoutIncludesOpaqueBars propiedad de la vista controlador dentro de la navegación controlador que está dentro de la tabbar controlador para YES.

    Ejemplo (no funcionó):

    UITabBarController *tabBarController = [[UITabBarController alloc] init];
    tabBarController.tabBar.barStyle = UIBarStyleBlack;
    tabBarController.tabBar.translucent = NO;
    
    UIViewController *viewController = [[UIViewController alloc] init];
    viewController.extendedLayoutIncludesOpaqueBars = YES; //<-- This is important!!!!!!
    
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController: viewController];
    
    tabBarController.viewControllers = @[navigationController];

    Fuente: https://web.archive.org/web/20160405135605/https://developer.apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/AppearanceCustomization.html

    Y por CIERTO, me gusta el no translúcidos tabbar la mejor.

    Editar

    Como Andy se mencionan a continuación, este indicador no tiene que ser establecido en el código. Se puede establecer en IB si eso es lo que uso.

    • No es la misma bandera disponible en la vista de Guión gráfico configuración del controlador.
    • Buen punto, gracias @Andy! Voy a actualizar mi respuesta mencionar que.
    • Gracias! Yo estaba atrapado en esto por un rato. Comportamiento sin sentido hasta que leí tu respuesta
    • Funciona. Tengo un mismo problema y lo resolví. Gracias
    • Para los Storyboards en Xcode6 este indicador se encuentra bajo el «Controlador de Vista» >> «Extender los Bordes» del llamado grupo de «Bajo la Opaca Bares».
  2. 10

    Como se mencionó aquí tiene que establecer barTintColor a algo que usted quiere cambiar el color.

    Estos ajustes se aplican automáticamente cuando se establece cualquier estilo para barStyle o cualquier color personalizado para barTintColor. Si usted prefiere, puede hacer que la barra de pestañas opaco por la configuración de la translúcido de la propiedad a NINGUNA programación. En este caso, la barra dibuja un fondo opaco utilizar el color negro si la barra de pestañas se ha UIBarStyleBlack estilo, en blanco si la barra de pestañas se ha UIBarStyleDefault, o en la pestaña de la barra de barTintColor si un valor está definido.

    Algo que me sirve para mi proyecto

    self.tabBarController.tabBar.barTintColor = [UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:1.0];
    
    self.tabBarController.tabBar.translucent = NO;
  3. 6

    He acontroller con formato tableview y ambos translúcido NavigationBar y translúcido TabBar.
    En esta situación utilizando

    viewController.extendedLayoutIncludesOpaqueBars = YES;

    provoca un problema de las dos barras overlaping mi vista de tabla.

    Puede ser gestionada por ajuste

    viewController.edgesForExtendedLayout = UIRectEdgeBottom;

    que los resultados en formato tableview ocultarse detrás de la Barra de pestañas.

    • U salvó mi día… Saludos!!!
  4. 2

    Parece que he de configurar el controlador de vista de la vista de modo que su parte inferior está en la misma posición en la parte superior de la barra de pestañas, cuando debe estar en la parte inferior de la pantalla. Si lo hacen, su contenido aparecerá correctamente (contenido visible a través de la barra de pestañas o no) si la barra de pestañas se establece a translúcido o no.

  5. 1

    Para aquellos que realmente quiere translúcida Tabbar y una vista de tabla (o vista de colección para mí) que puede ser visto por detrás, aquí está mi solución para ios 7/8:

    Si usted está utilizando restricciones, usted debe agregar uno en la parte inferior de la vista de tabla para la «Guía de Diseño» por lo que su formato tableview se detiene antes de la Tabbar. Este es un ejemplo con el Guión, pero se puede hacer en el código.

    iOS 7 TabBar Translúcido problema

    Entonces usted sólo tiene que asegurarse de que puede ver la tabla de la vista detrás de la Tabbar por la configuración de la «clipsToBounds» propiedad NO.

    self.mytableview.clipsToBounds = NO;

    Esta es mi solución, espero que ayude.

Dejar respuesta

Please enter your comment!
Please enter your name here