7

カレンダーのイベント機能に取り組んでいますが、1 つのことに行き詰まりました。

これが私がやったことです:日ビューが表示されるページ/インターフェースがあります。ユーザーは次/前の日までスクロールでき、同じビューに特定の日の情報が再ロードされます。これらはすべて動的に行われます。日ビューに表示される特定の日のイベントがあります。

問題: 表示されたイベントの移動/ドラッグ アンド ドロップ機能を実装したいと考えています。ユーザーはイベント ブロックを選択して、別の日に移動できます。ただし、同じものを実装することはできません。イベントが表示されたカレンダーの日ビューのスクリーンショットを添付しました。

イベント オブジェクトを含むイベントを別の日に移動するのを手伝ってください (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 に答える