2012-06-19 23 views
10

tôi muốn tìm hiểu làm thế nào để làm như sau:UITableView hãy nhấp và giữ + kéo và thả

Tôi có một UITableView, mà đi vào chế độ chỉnh sửa khi các vòi sử dụng và giữ một trong những hàng

Khi nó vào chế độ chỉnh sửa Tôi cần các tế bào để vẫn được lựa chọn và cung cấp cho các hiệu ứng của popping ra, dưới ngón tay người dùng.

Người dùng có thể kéo ô đã xuất hiện và đặt lại vị trí đó sang một hàng khác mà không cần nhấc ngón tay lên.

Những gì tôi đã có tại chỗ:

Tôi có một vòi dài cử chỉ nhận dạng và tôi dọn bàn ăn vào chỉnh sửa trong vòi nước dài selector cử chỉ nhận dạng.

Tuy nhiên, để kéo ô hiện tại tôi yêu cầu nâng ngón tay và nhấn lại để kéo ô, đó không phải là thứ tôi muốn.

Mọi trợ giúp sẽ được đánh giá cao.

+0

có thể trùng lặp [Reordering UITableView mà không cần kiểm soát lại trật tự] http://stackoverflow.com/questions/5624730/reordering-uitableview-without-reorder-control) – Senseful

Trả lời

0

Hiện tại có một giải pháp thay thế (không đủ dễ dàng): https://stackoverflow.com/a/7501076/326017.

Và tôi đã tìm thấy đoạn mã ở đây: https://github.com/FlorianMielke/FMMoveTableView

"FMMoveTable là một lớp con UITableView cung cấp hàng di chuyển bằng cách đơn giản nhấn và giữ một dòng thích hợp mà không chuyển đổi bảng để nó chế độ chỉnh sửa" - từ mô tả

+0

Có thể là một đoạn trích tốt hơn ở đây: xem https://github.com/bvogelzang/BVReorderTableView. Không ổn định. – SwiftArchitect

0

Bài viết Reordering a UITableViewCell from any touch point thảo luận về kịch bản này chính xác.

Về cơ bản bạn làm như sau:

  1. Tìm (một lớp học tư nhân) UITableViewCellReorderControl.
  2. Mở rộng để mở rộng toàn bộ ô.
  3. Ẩn nó.
  4. Giờ đây, người dùng có thể kéo ô từ bất kỳ đâu.

Một giải pháp khác, Cookbook: Moving Table View Cells with a Long Press Gesture, đạt được hiệu quả tương tự bằng cách làm như sau:

  1. Thêm một báo dài cử chỉ nhận dạng trên xem bảng.
  2. Tạo ảnh chụp nhanh của ô khi ô được kéo.
  3. Khi ô được kéo, di chuyển ảnh chụp xung quanh và gọi -[UITableView moveRowAtIndexPath:toIndexPath:].
  4. Khi cử chỉ kết thúc, hãy ẩn ảnh chụp nhanh ô.
0

Để tham khảo sau này ...Tôi đã có cùng một vấn đề, tôi tìm thấy một câu hỏi khác (Swift - Kéo và Thả TableViewCell với Long Gesture Recognizer) về nó và ai đó đã đề xuất hướng dẫn này: chỉ làm việc hoàn hảo cho tôi