7

我正在开发日历中的事件功能,但我被困在一件事上。

这是我所做的:我有一个页面/界面,其中日视图是可见的。用户可以滚动到下一天/前一天,并使用特定日期信息重新加载相同的视图。所有这些事情都是动态完成的。日视图上显示特定日期的事件。

问题:我想为显示的事件实现移动/拖放功能。用户可以选择事件块并将其移至另一天。但是我无法实现相同的功能。我已在日历中附加了日视图的屏幕截图,其中事件可见。

请帮我将带有事件对象的事件移动到不同的日期(如 Iphone4 日历)。我怎样才能做到这一点?

在此处输入图像描述

4

2 回答 2

2

我假设您无法达到预期的效果,因为您在事件视图或日视图上跟踪移动。然后,当您加载新的日视图时,您的手势识别器将失去其上下文。如果这是您的问题,那么以下步骤可能会有所帮助:

  1. 识别一个视图,它是日视图的超级视图,并且在加载另一个日视图时不会卸载。
  2. 将跟踪事件视图移动的 UITapGestureRecognizer 添加到该视图的控制器。
  3. 跟踪识别器在状态识别器UIGestureRecognizerStateChanged 中发送事件时的手势位置,并像以前一样移动事件视图。
  4. 当手势的位置在您想要更改日视图的目标区域时,将事件视图放入日视图的父视图的新子视图中,加载另一个日视图并将事件视图保持在前台(并将您的事件数据对象到新一天的上下文中)。
  5. 当新的日视图加载后,恢复到您用来移动事件视图的任何方法,现在在新日视图的上下文中。

根据您的粗略问题和我的假设,这是我能给出的最佳答案。希望这可以帮助。

最好的,彼得

于 2012-09-07T22:59:08.050 回答
0

一种解决方法是

  1. 长按现有事件
  2. 创建一个与“现有事件”完全匹配的 UIButton 并添加到子视图
  3. 使该 UIButton可拖动并具有目标操作
  4. 用户在背景日历上滚动或滑动(在同一视图中更改日期,即:您现有的设计)
  5. 用户点击 UIButton,使用按钮的位置来查找 x,y 偏移量以及当前日期。

祝你好运!

于 2012-09-14T09:26:46.653 回答