2012-01-15 12 views
5

Estoy tratando de lograr un tipo de efecto de enmascaramiento UIView dinámico. Este es un boceto: enter image description here¿Cómo lograr el enmascaramiento dinámico de UIView?

Así como se puede ver, estoy tratando de crear un UIView que puede cortar de manera efectiva a través de una imagen para revelar la imagen detrás de él. Ya sé cómo devolver una imagen con una máscara estáticamente, sin embargo, me gustaría que el "revelador" sea arrastrable (usaré el gesto panorámico) y en vivo.

¿Alguien tiene alguna idea o punto de partida sobre cómo lograr esto? Gracias

(NOTA: Mi demostración dice capa blanca, pero realmente me gustaría mostrar otra imagen o foto).

+0

¿Con qué código estás empezando? –

+0

Ninguno, estoy buscando ideas o consejos sobre cómo hacer que UIView recorte una imagen. – user339946

+1

Lo siento, no estoy seguro de qué efecto desea en la parte no transparente, pero no puede tener una vista que es mucho más grande que la imagen, tiene un cuadrado 100% transparente en el centro y sus bordes son blancos con decir 60% de opacidad? Entonces, arrastre esta vista? No es necesario enmascarar ni nada, solo un UIScrollView. –

Respuesta

3

enmascarar una imagen no es tan difícil.

Este enlace muestra los conceptos básicos. http://iosdevelopertips.com/cocoa/how-to-mask-an-image.html

Pero personalmente creo que haría 2 vistas de UIImage y recortar el contenido de la UIView que se puede arrastrar. No estoy seguro, pero esperaría que recortar y panoramizar la segunda imagen sea menos costoso desde el punto de vista computacional que aplicar la máscara y obtener una mejor velocidad de cuadros.

Así que yo haría: UIImageVer imagen completa. Un UIView encima con un ajuste blanco y un poco de transparencia para que se vea blanco, luego un UIImageView con la imagen, ya sea en lugares o recortada para que solo se muestre la sección correcta.

+0

Perdona mi descripción, la capa "blanca" en realidad va a ser otra imagen. Entonces, sus 2 imágenes se apilan unas sobre otras, y necesito un rectángulo para cortar a través de la imagen del medio para mostrar la imagen inferior. Cualquier idea aprecia.d ¡Gracias! – user339946

+0

sí. lo mismo en su mayor parte. usa 3 UIImageViews. recorta el superior para que parezca que atraviesa el del medio. no está realmente enmascarado, pero parecerá lo mismo para el usuario final. – madmik3

+0

Hola, suena interesante. ¿Qué quieres decir con "cosechar el mejor"? Estoy pensando que mi UIImageView superior tendría que replicar de alguna manera la imagen inferior en esa ubicación exacta (ya que el rectángulo es arrastrable). Gracias – user339946

Cuestiones relacionadas