Pregunta

Estoy tratando de planear una nueva aplicación ... Quiero tener una serie de imágenes que un usuario puede arrastrar por la pantalla y soltar donde quieren.

Estoy pensando que voy a tener una matriz (NSMutableArray) de todas las imágenes. cuando se carga la aplicación, se dibujarán estos a un UIView desplazable ... a continuación, la aplicación sabrá cual un usuario ha pulsado y arrastrado a la vista principal.

Me puede codificar de manera que una imagen puede ser arrastrado, pero no estoy seguro de cómo aplicar el mismo código para un número n de imágenes. Por ejemplo, en mi controlador de vista, me puse IBOutlet UIImage *image que a su IB que se puede vincular y control .... pero, ¿cómo cambiar esto se aplica a cualquier número de imágenes?

He intentado buscar este toda la mañana, pero no han tenido mucha suerte.

Estoy pensando que había necesidad de aplicar una clase para cada imagen como lo dibujo fuera de la matriz. Estoy justo después de un pequeño consejo aquí realmente - tal vez me apunta en la dirección correcta?

Gracias por cualquier información !!

¿Fue útil?

Solución

En primer lugar, es necesario separar lógicamente los datos, en este caso las imágenes, desde los puntos de vista que los vea. Para visualizar las imágenes de posición y se los pone UIImageViews. Las imágenes deben ser almacenados en un algún tipo de estructura de datos, por ejemplo, matriz, diccionario, etc base de datos a continuación, debe cargarlos en una o más UIImageViews según sea necesario.

Si usted tiene un número muy variable de elementos de la interfaz es mejor para crear los elementos variables mediante programación. En su caso, se debe cablear en Interface Builder los elementos fijos como el ScrollView. A continuación, cuando se necesitaba para agregar una imagen de inicializar un UIImageView con un marco de posicionarlo en el que desea que en el ScrollView. A continuación, se debe establecer la propiedad de imagen UIImageView a la imagen que desea. De allí tendría que añadir el imageView a la ScrollView como subvista.

Si necesita realizar un seguimiento de la imageView debe crear una propiedad para la vista que encierra y asignar a cada imageView añadido a su vez. De esta manera se centran métodos específicos en el imageView seleccionado en ese momento.

Usted tiene que tener en cuenta que el seguimiento de toques en un UIScrollView puede presentar retos debido a que el ScrollView tiene que atrapar todas toques para ver si se necesita desplazamiento.

Otros consejos

Matt Cortadora acaba de publicar una pregunta que incluye más o menos el código que está hablando.

UIImage detección táctil y arrastrando

La respuesta corta es que no crea en los UIImages IB. Vamos a crear la programación y añadirlos a la vista principal a medida que los necesite. El evento UITouch se puede utilizar para determinar la opinión de que fue tocado.

Probablemente no hay necesidad de una gran variedad aquí; un NSMutableSet tiene más sentido a menos que haya alguna razón especial para preservar el orden.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top