ios uicollectionview uibackgroundcolor

ios - CollectionView background clearColor no funciona



uicollectionview uibackgroundcolor (7)

Estoy desarrollando un pequeño ''marco'' de recopilación para comportarme como una barra de pestañas del navegador (pensar en Chrome) en el iPad. El código está listo, diseño de flujo personalizado, reordenamiento, etc., y está organizado de la siguiente manera:

• TabBarCollectionViewController .h / .m / .xib contiene la lógica alta de la vista de colección (métodos delegados + origen de datos). Tengo el xib para configurar los ajustes de collectionView y establecer el diseño de flujo personalizado (podría hacerlo mediante programación, pero bueno, es más fácil).

• CustomFlowLayout .h / .m (subclase de diseño de flujo)

• TabBarCell .h / .m / .xib (subclase de collectionviewcell)

Luego agrego el TabBarCVC como childViewController en mi viewController principal (este viewController tiene muchos childViewController y subvistas) y luego como una subvista. En este punto, todo está funcionando fiiiiine.

Ahora el problema, es tan estúpido que no puedo creer que no haya encontrado una manera de hacerlo, el backgroundColor de collectionView no se puede establecer en clearColor . Puedo ponerlo en gris o en cualquier color, pero no admite transparencia. El color de fondo de la celda también es claro y funciona.

Necesito que collectionView sea transparente para mostrar la textura en la vista principal detrás. Cualquier idea sería muy apreciada, o tal vez llene mi primer radar a manzana.

Si no encuentro ninguna solución, solo agregaré la "captura de pantalla" de la textura que se supone que está detrás de collectionView y la añadiré como una imageView en el backgroundView de collectionView.


En mi caso, tenía el color de fondo en el guión gráfico establecido en Predeterminado. Esto causó que tenga un fondo negro. Cambiarlo a Clear Color funcionó.


Intente configurar el color para borrar y la vista de fondo en una vista vacía como ...

self.collectionView.backgroundColor = [UIColor clearColor]; self.collectionView.backgroundView = [[UIView alloc] initWithFrame:CGRectZero];


La respuesta de Fogmeister funcionó muy bien. Adaptado a Swift 3, sería:

self.collectionView.backgroundColors = [NSColor.clear] self.collectionView.backgroundView = NSView.init(frame: CGRect.zero)


Lo resolví usando en Swift 3:

collectionViewVideo.backgroundColor = UIColor.clear.withAlphaComponent(0)


Ok, me estoy sintiendo bastante estúpido ahora. Dejé una UIView vacía atrás, actuando como un contenedor para la colecciónVer para una prueba. Simplemente me olvidé de eliminarlo, todo funciona bien con un bonito clearColor ahora ...


Para tener un bonito fondo blanco semitransparente:

collectionView.backgroundColor = UIColor(displayP3Red: 1.0, green: 1.0, blue: 1.0, alpha: 0.35)


Tenga cuidado al configurar el color de fondo de UICollectionView en Storyboard:

El valor predeterminado inicialmente es negro (contrario a la intuición).
Debe seleccionar explícitamente Borrar color para que la Vista sea transparente.

También tenga en cuenta que la vista previa en Storyboard cambia inmediatamente cuando se hace esto ''a la derecha'' ...