2012-09-05 23 views
7

Tôi đang làm việc trên chức năng Sự kiện trong Lịch và tôi bị kẹt trên một điều.Không thể kéo các sự kiện vào một ngày mới. Điều này có thể được thực hiện bằng cách giữ nó ở bên cạnh màn hình trong vài giây

Đây là những gì tôi đã thực hiện: Tôi có một trang/giao diện trong đó chế độ xem theo ngày hiển thị. Người dùng có thể cuộn đến ngày tiếp theo/trước đó và xem cùng được tải lại với thông tin ngày cụ thể. Tất cả những điều này được thực hiện tự động. Có các sự kiện cho ngày cụ thể được hiển thị trên giao diện ngày.

Sự cố: Tôi muốn triển khai chức năng di chuyển/Kéo và thả cho sự kiện được hiển thị. Người dùng có thể chọn khối sự kiện và di chuyển nó đến một ngày khác. Tuy nhiên tôi không thể thực hiện như vậy. Tôi đã đính kèm ảnh chụp màn hình Chế độ xem theo ngày trong lịch có Sự kiện hiển thị.

Hãy giúp tôi di chuyển các sự kiện có đối tượng sự kiện đến các ngày khác nhau (như lịch Iphone4). Tôi có thể làm cái này như thế nào?

enter image description here

+1

có thể giúp .. https://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/ManageReorderRow/ManageReorderRow.html – janusbalatbat

+1

@janusfidel tôi đã di chuyển sự kiện trong cùng một ngày hoặc trang nhưng câu hỏi của tôi là di chuyển các sự kiện với đối tượng sự kiện đến các ngày khác nhau. –

Trả lời

2

Tôi giả sử bạn không thể đạt được hiệu quả mong muốn vì bạn theo dõi phong trào trên sự kiện Xem hoặc ngày View. Khi bạn tải Chế độ xem theo ngày mới, trình nhận dạng cử chỉ của bạn sẽ mất ngữ cảnh. Nếu đây là vấn đề của bạn thì các bước sau đây có thể giúp:

  1. Xác định chế độ xem là giám sát Chế độ xem theo ngày và không tải khi Chế độ xem ngày khác được tải.
  2. Thêm UITapGestureRecognizer của bạn theo dõi chuyển động Chế độ xem sự kiện vào trình điều khiển của chế độ xem đó.
  3. Theo dõi vị trí cử chỉ khi trình nhận dạng gửi sự kiện trong trình nhận dạng trạng tháiUIGestureRecognizerStateChanged và di chuyển Chế độ xem sự kiện như trước đây.
  4. Khi vị trí của cử chỉ nằm ở vùng mục tiêu mong muốn của bạn để thay đổi Chế độ xem theo ngày, hãy đặt chế độ xem Sự kiện vào chế độ xem phụ mới của superview của Chế độ xem theo ngày, tải Chế độ xem ngày khác và giữ Chế độ xem sự kiện ở mặt trước (và đặt đối tượng Dữ liệu Sự kiện của bạn vào ngữ cảnh của ngày mới).
  5. Khi Chế độ xem theo ngày mới đã được tải, hãy hoàn nguyên về bất kỳ phương pháp nào bạn đã sử dụng để di chuyển Chế độ xem sự kiện của mình, giờ đây trong ngữ cảnh của Chế độ xem theo ngày mới.

Dựa trên câu hỏi sơ sài của bạn và các giả định của tôi, đây là câu trả lời hay nhất tôi có thể đưa ra. Hi vọng điêu nay co ich.

nhất, Peter

+0

@ ilmiacs cảm ơn bạn đã trả lời, bạn có thể cung cấp cho tôi một số mã để hiểu rõ hơn không. –

+0

Bạn cần hiểu thêm về phần nào? Mã của bạn trông như thế nào? – ilmiacs

+0

Bước số. 4 . tôi đã có được vị trí của sự kiện và cố gắng di chuyển một ngày khác nhưng hút ở đây tải Chế độ xem theo ngày khác với các sự kiện đã chọn. –

0

Một cách giải quyết sẽ là

  1. báo dài về sự kiện hiện
  2. tạo ra một UIButton phù hợp chính xác như "sự kiện hiện có" và thêm vào subview
  3. làm cho điều đó UIButton draggable và với hành động đích
  4. cuộn người dùng hoặc vuốt trên lịch nền (thay đổi ngày trong cùng một chế độ xem, ví dụ: thiết kế hiện có của bạn)
  5. người dùng nhấn vào UIButton, sử dụng vị trí của nút để tìm x, y offset cùng với ngày hiện tại.

Chúc may mắn!

+0

Xin chào, bạn có thể cung cấp cho tôi một số mã hoặc ví dụ demo –