Tengo un UIImageView y quería agregar una superposición negra encima. ¿Cuál es la mejor manera de hacerlo sin tener que anular DrawRect? Estaba pensando en agregar un CALayer encima. Pero no estoy seguro de cómo obtener un CALayer negro con alfa .3.agregando superposición negra con 0.3 opacidad sobre UIImageView
Respuesta
¿Algo como esto?
UIView *overlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, myImageView.frame.size.width, myImageView.frame.size.height/2)];
[overlay setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0.3]];
[myImageView addSubview:overlay];
¿Pensaste en agregar un UIView
con fondo negro y 0.3 alfa como subvista a la vista de la imagen?
Esto es similar a la respuesta del MDT, excepto mediante las propiedades CALayer:
UIView *blackOverlay = [[UIView alloc] initWithFrame: imageView.frame];
blackOverlay.layer.backgroundColor = [[UIColor blackColor] CGColor];
blackOverlay.layer.opacity = 0.3f;
[self.view addSubview: blackOverlay];
Uh oh, hiciste un boo boo. El color de fondo de CALayer es un CGColor, no un UIColor ^^ ;. – borrrden
La respuesta correcta es MDT. Esta es solo otra forma de usar un CAGradientLayer
al lado de UIView
. Creo que hará lo que quieras con más opciones gráficas.
primero se debe añadir
#import <QuartzCore/QuartzCore.h>
a su ViewController.m
y en cualquier lugar que desee agregar esta plantilla a su uso UIImage
:
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = myImageView.layer.bounds;
gradientLayer.colors = [NSArray arrayWithObjects:
(id)[UIColor colorWithWhite:0.9f alpha:0.7f].CGColor,
(id)[UIColor colorWithWhite:0.0f alpha:0.3f].CGColor,
nil];
gradientLayer.locations = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:0.0f],
[NSNumber numberWithFloat:0.5f],
nil];
//If you want to have a border for this layer also
gradientLayer.borderColor = [UIColor colorWithWhite:1.0f alpha:1.0f].CGColor;
gradientLayer.borderWidth = 1;
[myImageView.layer addSublayer:gradientLayer];
espero que esto le ayudará a hacer que
¿podría elaborarlo por favor? –
Gracias a Mick MacCallum
Swift 3 Versión
let overlay: UIView = UIView(frame: CGRect(x: 0, y: 0, width: cell.imageView.frame.size.width, height: cell.imageView.frame.size.height))
overlay.backgroundColor = UIColor(red: 0/255, green: 0/255, blue: 0/255, alpha: 0.1)
cell.imageView.addSubview(overlay)
he utilizado para Swift 2,2
let overlay: UIView = UIView(frame: CGRectMake(0, 0, cell.imageView.frame.size.width, cell.imageView.frame.size.height))
overlay.backgroundColor = UIColor(red: 0/255, green: 0/255, blue: 0/255, alpha: 0.1)
cell.imageView.addSubview(overlay)
- 1. OpenGL, primitivas con opacidad sin superposición visible
- 2. Superposición NSView sobre NSScrollView
- 3. control de opacidad de la superposición de tramas
- 4. ¿Cómo hacer clic en UIButton sobre UIImageView?
- 5. agregando superposición a una vista de mapa en osmdroid
- 6. GIF animado en superposición sobre MapView
- 7. Opacidad del 100% UILabel sobre un fondo de opacidad del 50% (UIView?)
- 8. CSS flotante con superposición
- 9. Ayuda con superposición JFreeChart
- 10. Superposición de imagen con matriz
- 11. Lupa con zoom en UIImageView
- 12. necesita ayuda sobre contentMode y autoresizingMask de UIImageView
- 13. Extracción de imagen de UIImageView
- 14. Superposición de UIView con una imagen de fondo
- 15. Mostrar una superposición de "ayuda" sobre un diseño de Android
- 16. Superposición de texto sobre la imagen utilizando el posicionamiento relativo
- 17. Creación de una superposición de cuadrícula sobre imagen
- 18. cómo hacer una superposición sobre una miniatura de bootstrap?
- 19. Xcode agregando una imagen
- 20. TDD - ¿Refactorizar en caja negra?
- 21. Redimensionar UIImage en UIImageView
- 22. plantilla C++ magia negra
- 23. Superposición de una imagen sobre otra imagen en iOS
- 24. agregando visibilidad condicional al control WPF Información sobre herramientas
- 25. Cómo establecer la opacidad/alfa de un UIImage?
- 26. android - agregando una cadena sobre una imagen extraíble?
- 27. Agregando texto sobre archivos PDF existentes usando reportlab
- 28. fillStyle tela en intervalos con transparencia/opacidad
- 29. Jquery/Javascript Animación de opacidad con desplazamiento
- 30. php agregando campo sobre la marcha sin definirlos primero
No creo que se supone que añadir a subvistas UIImageView. –
@ HermanJ.RadtkeIII ¿por qué dices eso? –
Este [comentario] (http://stackoverflow.com/questions/4892770/why-cant-you-add-a-subview-to-a-uiimageview-that-is-the-view-outlet-of-a- uiview # comment21186181_4892770) lo dice mejor. –