में पहले उत्तरदाता को UITextField बनाने के लिए मेरे पास UITabeView
है जिसमें प्रत्येक सेल के अंदर UITextField
है। हालांकि मुझे पिछले/अगले UITableViewCell
के अंदर टेक्स्ट फ़ील्ड बनाने के लिए पिछले/अगले बटन को लागू करने में परेशानी हो रही है।UITableView में पिछला उत्तर/अगला बटन लागू करने के लिए मेरे उत्तर में एक गैर-दृश्यमान सेल
मैं UITableViewCell
वर्ग subclassed किया है यह एक निश्चित विधि कॉल की यह delegate
है जब prev./next बटन दबाया जाता है और इस विधि का एक पैरामीटर के रूप सेल में ही पारित करने के लिए (इसलिए मैं अपने सूचकांक पथ प्राप्त कर सकते हैं गणना करने के लिए जो जिसका पाठ क्षेत्र पहले प्रत्युत्तर किए जाने के लिए है सेल के सूचकांक पथ)
प्रतिनिधि की विधि के कार्यान्वयन में है मैं:
- जिसका बटन दबाया गया था सेल के सूचकांक पथ प्राप्त
- इंडेक्स से 1 जोड़ें या घटाएं उस कक्ष की वें (पर निर्भर करते हुए बटन दबाया गया था)
- सेल जिसका पाठ फ़ील्ड है तालिका दृश्य
- पाठ क्षेत्र पहले प्रतिसादी
समस्या बनाने पर -cellForRowAtIndexPath:
विधि का उपयोग कर पहले प्रतिसादी किए जाने के लिए मिलता है यह है कि -cellForRowAtIndexPath:
विधि केवल तभी सेल लौटाती है जब यह दिखाई दे। तो जब सेल दिखाई नहीं दे रहा है तो यह nil
लौटाएगा और उपरोक्त एल्गोरिदम काम नहीं करेगा, जबकि सेल स्क्रीन पर है, यह सही तरीके से काम करेगा।
यहां पर मेरा कोड है। बटन, कि MUInfoMateriaTableViewCell
प्रदान की UITableViewCell
की मेरी उपवर्ग है और यह एक textField
संपत्ति है कि इसके पाठ क्षेत्र देता है:
- (void)prevButtonPressedInCell:(MUInfoMateriaTableViewCell *)cell
{
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
NSIndexPath *previousIndexPath = [NSIndexPath indexPathForRow:indexPath.row-1 inSection:indexPath.section];
MUInfoMateriaTableViewCell *newCell = (MUInfoMateriaTableViewCell *)[self.tableView cellForRowAtIndexPath:previousIndexPath];
[newCell.textField becomeFirstResponder];
}
वहाँ किसी भी तरह से करने के लिए तो मैं अपने पाठ कर सकते हैं एक सेल है कि दिखाई नहीं देता है "मिल" है पहले उत्तरदाता क्षेत्र? या क्या आप इस समस्या के आसपास काम करने के लिए मुझे एक और एल्गोरिदम सुझा सकते हैं?
सेल का ट्रैक रखने के लिए आप कैसे सुझाव देते हैं जिसका टेक्स्ट फ़ील्ड पहला उत्तरदाता बनना चाहिए? क्या मेरे पास ivar नामक कुछ है जिसे 'activeCellIndexPath' नाम दिया गया है और जांचें कि सक्रिय सेल का इंडेक्स पथ सेल के इंडेक्स पथ से मेल खाता है, 'tableView: willDisplayCell: forRowAtIndexPath:' या क्या कोई बेहतर/अधिक कुशल है दृष्टिकोण? – BigLex
मैं ठीक से लागू करता हूं कि आपने इसे अभी कैसे वर्णित किया है। उस मामले को संभालना सुनिश्चित करें जहां आप उत्तरदाता को कोई भी सेल नहीं बनाना चाहते हैं और 'nil' 'activeCellIndexPath' को बाहर नहीं करना चाहते हैं। – jszumski
ठीक है! धन्यवाद महोदय! – BigLex