2011-05-05 13 views
6

Tengo una UITableView en una aplicación de iPad en la que estoy trabajando. Cuando comienzo en una vista de retrato y giro a un paisaje, la vista gira y la rotación se ve bien.Fondo blanco no deseado visible alrededor de UITableView al girar de horizontal a vertical

Sin embargo, cuando giro de horizontal a vertical, aparece un borde blanco que se muestra durante la rotación. Parece que el UITableView está redimensionado para adaptarse a la pantalla vertical al comienzo de la rotación. (Cuando se hace girar con el paisaje, el cambio de tamaño primero significa que ningún blanco se verá.)

A través de algunas capturas de pantalla que he sido capaz de agarrar, parece que el orden de animación es la siguiente:

  1. Redimensionar UITableView
  2. Realizar la animación de rotación
  3. Redimensionar UIToolbar

Durante la investigación de esto, me encontré con algunas personas sugieren que cambiar el color de fondo de la UIWindow a coincide con su vista (azul en este caso), pero mi UITableView real no tiene un fondo de color sólido, por lo que este método no es suficiente.

Me gustaría poder controlar cuándo se produce la rotación de vistas individuales para evitar que este borde blanco se vea durante la rotación. O si hay un mejor enfoque, ¡por favor comparte eso también!

[Editar] Aquí hay una captura de pantalla en bruto que muestra el borde blanco durante la rotación:

enter image description here

Respuesta

3

intenta establecer el color de fondo de la capa de ventana para [UIColor blackcolor]

+0

Esto ha funcionado para mí . O si tiene otra vista detrás de la vista de tabla, establezca ese fondo en negro también. – JoePasq

+0

Resulta más complicado para mí. Estoy usando una imagen como fondo para mis celdas (las vistas de tabla sin imágenes giran correctamente de forma predeterminada). Establecer el fondo de la vista que contiene la tabla en negro aún resultó en un borde blanco. Al configurar el color de fondo de mi vista de tabla como negro, puedo hacer su sugerencia. Pero ahora, durante la rotación, puedo ver que el UIToolbar cambia de tamaño sin problemas (nunca revela el negro) mientras que la vista de tabla cambia de tamaño inmediatamente (se muestra en negro). Entonces, ves una barra de herramientas ancha y una vista de tabla delgada durante la rotación. ¡Esto ciertamente ha mejorado! (pero no del todo ideal) – jmac

+2

¡esto funcionó para mí también! En mi appDelegate, tengo la línea: self.window.layer.backgroundColor = [[UIColor blackColor] CGColor]; –

Cuestiones relacionadas