2012-06-19 21 views
10

मैं पता लगाने के लिए निम्नलिखित करना चाहता था:UITableView नल और + खींचें पकड़ और ड्रॉप

मैं एक UITableView है, जो संपादन मोड में प्रवेश करती है जब उपयोगकर्ता नल और पंक्तियों में से एक मानती है

एक बार है यह संपादन मोड में प्रवेश करता है मुझे उपयोगकर्ताओं को उंगली के तहत चयनित होने के लिए सेल की आवश्यकता होती है और पॉपिंग का प्रभाव मिलता है।

उपयोगकर्ता पॉप-आउट सेल को खींचने और उंगली उठाए बिना इसे दूसरी पंक्ति में स्थानांतरित करने में सक्षम होना चाहिए।

क्या मैं पहले से ही जगह में है:

मैं एक लंबे टैप जेस्चर पहचानकर्ता है और मैं लंबे समय से टैप जेस्चर पहचानकर्ता चयनकर्ता में संपादन में मेज सेट।

हालांकि सेल को खींचने के लिए मुझे वर्तमान में उंगली उठाने और सेल को खींचने के लिए टैप करने की आवश्यकता है, जो मैं नहीं चाहता हूं।

किसी भी मदद की सराहना की जाएगी।

+0

संभावित डुप्लिकेट [रीडरिंग यूआईटीबल व्यू रीडर कंट्रोल के बिना] (http://stackoverflow.com/questions/5624730/reordering-uitableview-without-reorder-control) – Senseful

उत्तर

0

वर्तमान समय में एक कामकाज (पर्याप्त आसान नहीं है): https://stackoverflow.com/a/7501076/326017

और मैं कोड यहाँ टुकड़ा पाया है: https://github.com/FlorianMielke/FMMoveTableView

"FMMoveTable एक UITableView उपवर्ग कि बस द्वारा पंक्तियों चलती नल और इसे करने के लिए मेज स्विच किए बिना एक उचित पंक्ति पकड़ संपादन मोड है प्रदान करता है" - वर्णन से

+0

संभावित रूप से यहां एक बेहतर स्निपेट: https://github.com/bvogelzang/BVReorderTableView देखें। कोई ग्लिच नहीं – SwiftArchitect

5

बेहतर कोड स्निपेट यहां है:

https://github.com/bvogelzang/BVReorderTableView देखें।

(Xcode 6.x और iOS 8 में परीक्षण किया गया)

+0

संभवतः पहले एक्सकोड 5 और आईओएस 7 के रूप में काम करता है। समय के परीक्षण के खिलाफ स्थिर स्थिरता। – SwiftArchitect

0

लेख Reordering a UITableViewCell from any touch point इस सटीक परिदृश्य की चर्चा।

  1. UITableViewCellReorderControl (एक निजी वर्ग) खोजें:

    अनिवार्य रूप से आप निम्न कार्य करें।

  2. इसका विस्तार करें ताकि यह पूरे सेल को फैला सके।
  3. इसे छुपाएं।
  4. उपयोगकर्ता अब से कहीं भी सेल खींचने में सक्षम होंगे।

एक अन्य समाधान, Cookbook: Moving Table View Cells with a Long Press Gesture, निम्न कार्य करके एक ही प्रभाव को प्राप्त होता है:

  1. तालिका दृश्य पर एक लंबे प्रेस इशारा पहचानकर्ता जोड़ें।
  2. सेल खींचने पर सेल का एक स्नैपशॉट बनाएं।
  3. जैसे ही सेल खींचा जाता है, स्नैपशॉट को चारों ओर ले जाएं, और -[UITableView moveRowAtIndexPath:toIndexPath:] पर कॉल करें।
  4. जब इशारा समाप्त होता है, तो सेल स्नैपशॉट छुपाएं।
0
भविष्य में संदर्भ के लिए

...मुझे एक ही समस्या थी, मुझे इसके बारे में एक और सवाल मिला (स्विफ्ट - ड्रैग एंड ड्रॉप टेबल व्यूसेल लांग जेस्चर रिकग्नाइज़र के साथ) और किसी ने इस ट्यूटोरियल का सुझाव दिया: https://www.freshconsulting.com/create-drag-and-drop-uitableview-swift/ मेरे लिए बिल्कुल सही काम करता है

संबंधित मुद्दे