2011-10-29 10 views

Respuesta

3

si la superposición de un UIView que quiere decir pintar su fondo con una imagen, se puede hacer así:

someView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"yourImage.png"]]; 

También puede añadir un nuevo UIImageView que cubre su UIView por código, inicio su UIImageView con el mismo marco Rect como su UIView y agréguelo como una subvista.

+0

Excelente, gracias. Entonces, no hay forma de hacerlo desde IB, ¿verdad? – JAM

+0

Correcto, porque la función colorWithPatternImage es un método personalizado, no es una opción que aparece en el IB. solo hay colores únicos para elegir. aunque la misma tarea podría hacerse con el IB creando un UIImageView que cubra su vista y tenga el mismo marco. cuando no quiere que su vista esté cubierta o no, simplemente puede configurar su propiedad .hidden en SÍ/NO. –

+0

Probablemente vaya por la opción 'UIImageView' ya que supongo que estará más optimizado que generar un patrón que Core Graphics luego tendrá que dibujar después de descubrir el mosaico, etc. –

5

De la documentación UIView:

basadas en imágenes fondos - Para las vistas que muestran contenido relativamente estático, considerar el uso de un objeto UIImageView con reconocedores gesto en lugar de subclases y dibujar la imagen de sí mismo. Alternativamente, también puede usar un objeto UIView genérico y asignar su imagen como el contenido del objeto CALayer de la vista.

Utilizando la segunda opción, para establecer someView tener un fondo de yourImage.png:

someView.layer.contents = (id)[[UIImage imageNamed:@"yourImage.png"] CGImage];

Cuestiones relacionadas