2012-09-05 14 views
7

Estoy trabajando en la funcionalidad de Eventos en el Calendario y me quedé atrapado en una cosa.Los eventos no se pueden arrastrar a un nuevo día. Esto debería ser posible, por ejemplo, manteniéndolo sobre el costado de la pantalla durante unos segundos

Esto es lo que he hecho: Tengo una página/interfaz en la que la vista de día está visible. El usuario puede desplazarse al día siguiente/anterior y la misma vista se vuelve a cargar con la información específica del día. Todas estas cosas se hacen dinámicamente. Hay eventos para un día específico que se muestran en la vista del día.

Problema: Deseo implementar la funcionalidad de mover/arrastrar y soltar para el evento que se muestra. El usuario puede elegir el bloque de eventos y moverlo a otro día. Sin embargo, no puedo implementar lo mismo. He adjuntado la captura de pantalla de la Vista de día en el calendario con el evento visible.

Por favor, ayúdame a mover los eventos con el objeto del evento a diferentes días (como el calendario de Iphone4). ¿Cómo puedo hacer esto?

enter image description here

+1

podría ayudar .. https://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/ManageReorderRow/ManageReorderRow.html – janusbalatbat

+1

@janusfidel ya he movido el evento en la misma fecha o página pero mis preguntas son mover los eventos con el objeto del evento a diferentes días. –

Respuesta

2

supongo que no se puede conseguir el efecto deseado debido a rastrear el movimiento en la vista de eventos o la vista diaria. Cuando luego carga la nueva Vista de día, su reconocedor de gestos pierde su contexto. Si este es su problema, los siguientes pasos pueden ser útiles:

  1. Identifique una vista que es una supervista a la vista de día y no se descarga cuando se carga otra vista de día.
  2. Agregue su UITapGestureRecognizer que rastrea el movimiento de la Vista de eventos al controlador de esa vista.
  3. Realice un seguimiento de la posición del gesto cuando el reconocedor envía eventos en el estado recognizerUIGestureRecognizerStateChanged y mueva la vista de evento como antes.
  4. Cuando la posición del gesto está en su área objetivo deseada para un cambio de Vista de día, coloque la vista Evento en una nueva subvista de la vista de día, cargue la otra Vista de día y mantenga la Vista de evento en primer plano (y ponga su objeto Datos de evento en el contexto del nuevo día).
  5. Cuando se haya cargado la nueva Vista de día, vuelva al método que haya utilizado para mover su Vista de evento, ahora en el contexto de la nueva Vista de día.

Según su pregunta incompleta y mis suposiciones, esta es la mejor respuesta que puedo dar. Espero que esto ayude.

Best, Peter

+0

@ ilmiacs gracias por su respuesta, ¿me puede proporcionar algún código para una mejor comprensión. –

+0

¿Para qué parte necesitas más comprensión? ¿Cómo se ve tu código hasta ahora? – ilmiacs

+0

Paso no. 4. Obtuve la posición del evento y trato de moverme otro día, pero apesta aquí carga la otra Vista del Día con los eventos seleccionados. –

0

Una solución sería

  1. pulsación larga de eventos existente
  2. crear un UIButton juego exactamente como "evento existente" y añadir a subvista
  3. hacen que UIButton arrastrable y con una acción de destino
  4. desplazamiento del usuario o deslizar en el calendario de fondo (cambiar la fecha dentro de la misma vista, es decir: su diseño existente)
  5. usuario toque en UIBulto, use la posición del botón para buscar el desplazamiento x, y junto con la fecha actual.

¡Buena suerte!

+0

Hola, por favor me pueden proporcionar algún código o ejemplo de demostración –

Cuestiones relacionadas