2010-07-28 15 views
6

के लिए तालिका सेल में स्पर्श घटना का पता लगाने के मैं इसकैसे कैसे तालिका सेल के लिए स्पर्श घटना का पता लगाने के iphone

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    //<my stuff> 

    [super touchesBegan:touches withEvent:event]; 
} 

लेकिन कोशिश की अपनी actuallly काम नहीं कर रहा मैं तालिका सेल में aUIimage दृश्य है और मैं imgae chnage करना चाहते हैं टैप के आधार पर, इसलिए मेरा स्पर्श ईवेंट उस सेल के लिए काम नहीं कर रहा है

उत्तर

2

आपको शायद myImageView.userInteractionEnabled = YES; सेट करने की आवश्यकता है।

+0

मैं पहले से ऐसा ही किया, लेकिन स्पर्श घटना अभी भी काम नहीं कर रहा है :( – ram

+0

आप भी सेल पर यह स्थापित करने की कोशिश की है? – jtbandes

+0

हाँ दोनों पक्ष मैंने किया .. मेरे स्पर्श घटना में सभी तालिका सेल में काम नहीं कर रहा है अपने बस कोशिकाओं के बाहर काम कर रहे हैं – ram

9

यदि आप UITableViewCell पर एक स्पर्श का पता लगाना चाहते हैं तो आपको वास्तव में स्पर्श ईवेंट का पता लगाने की आवश्यकता नहीं है।

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

तो आपके द्वारा चयनित सूचकांक पथ के लिए तालिका सेल की छवि को संशोधित: अपने UITableViewController उपवर्ग में, आप निम्नलिखित प्रतिनिधि विधि को लागू करने की जरूरत है।

+1

- (शून्य) तालिका दृश्य: (UITableView *) तालिका दृश्य देखा चयन करेंटएंड इंडेक्सपैथ: (NSIndexPath *) indexPath {} –

2

मेरी परियोजनाओं में से एक में मुझे कीबोर्ड पर खारिज करने के लिए तालिका पर किसी भी टैप की आवश्यकता है ताकि अंतर्निहित तालिका दिखाई दे। चूंकि UITableView वास्तव में एक UIScrollView है, यह scrollView प्रतिनिधि विधियों का जवाब देगा। इन 2 तरीकों का उपयोग कर यदि या तो उपयोगकर्ता एक सेल पर टैप करता है या बिल्कुल tableView स्क्रॉल खारिज करेगा:

महत्वपूर्ण: सुनिश्चित करें कि आप अपने ज फ़ाइल में UIScrollViewDelegate लागू UITableViewDelegate और UITableViewDataSourceDelegate के रूप में बनाओ !!!

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    //remove keyboard if table row is clicked 
    if ([self.firstName isFirstResponder] || [self.lastName isFirstResponder]) { 
     [tableView deselectRowAtIndexPath:indexPath animated:NO]; 
     [self.firstName resignFirstResponder]; 
     [self.lastName resignFirstResponder]; 
    } 
} 

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    //remove keyboard if table scrolls 
    if ([self.firstName isFirstResponder] || [self.lastName isFirstResponder]) { 
     [self.firstName resignFirstResponder]; 
     [self.lastName resignFirstResponder]; 
    } 
} 
संबंधित मुद्दे