2012-02-29 24 views
16

में अक्षम स्पर्श इंटरैक्शन मेरे पास एक UITableView है जो उपयोगकर्ता को सेल स्पर्श करते समय उपव्यू खींचता है।UITableView

समस्या यह है कि सबव्यू ड्राइंग एनिमेटेड है और यदि उपयोगकर्ता पर्याप्त तेज़ है तो वे एक सेल को कई बार टैप कर सकते हैं जिसे मैं एनीमेशन के दौरान अक्षम करना चाहता हूं और बाद में।

मैं इस का उपयोग कर की कोशिश की है:

- (void) tableView: (UITableView*) tableView didSelectRowAtIndexPath: (NSIndexPath*) indexPath { 

    [[UIApplication sharedApplication] beginIgnoringInteractionEvents]; 

और यह भी एक bool चर:

if (isAnimating == NO) { 

लेकिन न तो काम करने के लिए लग रहे हैं। प्रत्येक मामले में तेजी से छूता है सब कुछ शिकंजा।

कोई भी मदद महान धन्यवाद होगी!

उत्तर

36

इस ... प्रयास करें सेल पर क्लिक करने के बाद सेट

tableView.userInteractionEnabled = NO; 
+4

.userInteractionEnabled = FALSE; काम करता है! – itgiawa

+8

उद्देश्य-सी में BOOLs के बजाय इसके बजाय NO का उपयोग करें, गलत या गलत उपयोग नहीं करें – Edgar

+0

ठीक है, क्या आप कृपया मुझे किसी भी अंतर से अंतर बता सकते हैं? –

2

मैं जानता हूँ कि यह हालांकि एक पुराने सवाल यह है कि यह स्विफ्ट 3 में इतना तेज संस्करण कमी रह गई थी, यह है:

tableView.isUserInteractionEnabled = false; 

और इसे वापस चालू करने के लिए है:

tableView.isUserInteractionEnabled = true; 

बस इस मीटर सोचा अगर कोई मैं तेज़ 3 में उत्तर की तलाश में था, तो मैं किसी की मदद कर सकता हूं, और यहां समाप्त होता है।