2009-09-03 10 views
10

मेरे पास एक यूट्यूबव्यू का उपयोग करके एक आईफोन ऐप है जहां मैं "रीडर" नियंत्रण हमेशा प्रदर्शित होने के लिए चाहता हूं, और उपयोगकर्ता पंक्तियों को हटाने के लिए स्वाइप करता हूं।संपादन मोड में पहले से ही हटाने के लिए स्वाइप करें

दृष्टिकोण मैं वर्तमान में ले रहा हूँ संपादन मोड में संपादन मोड में tableview रख दिया और चयन की अनुमति है

self.tableView.editing = YES; 
self.tableView.allowsSelectionDuringEditing = YES; 

मैं तो लाल

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return UITableViewCellEditingStyleNone; 
} 

- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return NO; 
} 

मैं नहीं कर सकते आंकड़ा का उपयोग कर समुदायों को हटा छिपाने जब टेबलव्यू पहले से ही संपादन मोड में है, तो दाईं तरफ "हटाएं" लाने के लिए स्वाइप जेश्चर कैसे प्राप्त करें, क्या कोई मुझे सही दिशा में इंगित कर सकता है?

वैकल्पिक रूप से, किसी को जानता है कि कैसे नियंत्रण को पुन: क्रम दिखाने के लिए समस्या का समाधान जब नहीं संपादन मोड में है, वह भी होगा

चियर्स

+1

बस सोचा कि मैं जोड़ूंगा कि मैंने इस मुद्दे में एक बहुत * अनुसंधान किया है (मुझे बिल्कुल वही आवश्यकता है) और मुझे विश्वास नहीं है कि यह आपके स्वयं के स्वाइप तर्क को लागू किए बिना संभव है। मुझे यह भी विश्वास नहीं है कि गैर-संपादन मोड में पुन: ऑर्डर नियंत्रण दिखाना संभव है, बिना ऐप्पल के तर्क के समान नकल किए। –

+0

क्या आपने यह किया है? – AnjDenny

उत्तर

1

उपयोगकर्ता किसी पंक्ति पर स्वाइप जब सेल प्राप्त करने के लिए, आप किसी संदर्भ को कहीं भी स्टोर करने की आवश्यकता है ताकि आप editingStyleForRowAtIndexPath और shouldIndentWhileEditingRowAtIndexPath द्वारा लौटाए गए मान को बदल सकें। आपकी सबसे अच्छी शर्त उस सेल पर indexPathForCell का उपयोग करने की संभावना है जिसे स्वाइप किया गया है और उसे स्टोर किया गया है। फिर ऊपर दिए गए दो प्रदर्शन विधियों में आपको यह जांचने की आवश्यकता है कि NSIndexPath समान है या नहीं (मुझे यकीन नहीं है कि वे एक ही सूचक होंगे या यदि आपको अनुभाग/पंक्ति मानों की तुलना करने की आवश्यकता होगी - परीक्षण आवश्यक है)। यदि वे मेल खाते हैं, तो डिलीट बटन प्रदर्शित करें।

ध्यान दें कि आपको अपनी तालिका पर reloadData पर कॉल करने की आवश्यकता हो सकती है देखें कि प्रभाव को स्क्रॉल किए बिना और फिर से वापस दिखाई देने के लिए दिखाई दें।

1

मुझे आश्चर्य है कि जिस तरह से आप आगे बढ़ रहे हैं, वह मानव इंटरफ़ेस दिशानिर्देशों को तोड़ देगा, जिसके परिणामस्वरूप ऐप को अनुमोदित नहीं किया जाएगा।

मैं नहीं देख सकता कि आप स्वाइप इशारा क्यों नहीं ले सकते हैं और फिर हटाए गए पुष्टिकरण के लिए लाल हटाएं (रोकें) आइकन को 'अनदेखा' करने के लिए इसका उपयोग करें?

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