2012-04-12 10 views
13

सेल (dequeuing इसके पहचानकर्ता के माध्यम से के साथ वास्तव में अच्छी तरह से एक गतिशील, कस्टम सेल प्रोटोटाइप है कि मैं में डिजाइन, कहते हैं, UITableViewController एक (इंटरफ़ेस बिल्डर/स्टोरीबोर्ड में), काम करता है का उपयोग करना है, सेला) और cellForRow में इस तरह ... मैं एक कस्टम वर्ग (UITableViewCell उपवर्ग का उपयोग करें, यह MyCustomCell) लेबल और छवि अंगूठे को जोड़ने के लिए नाम है और यह मेरे UITableViewController एक में सीधे आगे सब बहुत अच्छी तरह से काम करता है और ।iOS5 स्टोरीबोर्ड: पुन: उपयोग कस्टम UITableViewCell कई UITableViewControllers

अब मैं एक UITableViewController बी (स्टोरीबोर्ड में) है, जो ठीक उसी डिजाइन/अपने कस्टम कोशिकाओं (गतिशील कोशिकाओं) के लिए कार्यक्षमता के लिए होता पैदा करते हैं। इसलिए मैं MyCustomCell को इन कोशिकाओं के वर्ग स्विच करें और उसे एक नया पहचानकर्ता, cellB दे।

में UITableViewController बी, मैं cellForRow में सेल विपंक्ति ... और नए पहचानकर्ता cellB का उपयोग करें। नोट: सेलए का उपयोग करके यहां एक क्रैश होता है, स्पष्ट रूप से कम या ज्यादा।

लेकिन जब तालिका दृश्य दिखाई देता है, एप्लिकेशन चलाते समय UITableViewController एक बस ठीक काम करता है, और लगभग समान UITableViewController बी काम नहीं करता है (खाली कोशिकाओं)।

स्टोरीबोर्ड में, यह थोड़ा दूर एक तरह से लग रहा है क्योंकि कस्टम सेल UITableViewController एक भीतर लेकिन बीUITableViewController में designable है, यह सिर्फ एक सरल, सादा सेल है। MyCustomCell से संबंधित कक्षा के बावजूद।

एक प्रति & कैसे बच जाएगा अन्य नियंत्रक से इन कोशिकाओं को चिपकाने (और इसलिए भारी जब डिजाइन परिवर्तन करने प्रतियां बीच आगे और पीछे जा रहा) - और नहीं बल्कि सिर्फ ठीक से उसका फिर से उपयोग?

+1

एक अच्छा सवाल, वास्तव में मैं क्या सोच रहा था। और यदि मैं UITableViewCell का नया उप-वर्ग जोड़ता हूं, तो इसके लिए XIB बनाने का विकल्प गहरा हुआ है। – theLastNightTrain

+1

मुझे लगता है कि http://stackoverflow.com/questions/9245969/in-a-storyboard-how-to-make-a-custom-cell-for-use-with-multiple-controllers में यह बहुत अच्छी तरह से उत्तर दिया गया है – wolak

उत्तर

2

आप जो कर रहे हैं वह सही है। मुझे नहीं पता कि यह क्यों काम नहीं कर रहा है, यह तालिकादृश्य को पुनः लोड करने में कुछ समस्या हो सकती है; अपने डेटासोर्स और डेटासोर्स विधि से जांचें।

- (NSInteger) tableView:(UITableView *) tableView numberOfRowsInSection:(NSInteger) section 

बल्कि आप क्या कर सकते हैं:

खींचें एक

ViewController और फिर खींचें एक

tableview

और इसे गतिशील बनाएं और जो काम आपने पहले किया था; जब मैंने ऐसा किया तो यह मेरे लिए ठीक काम करता था।

1

सेल कहकर सेल आपके कस्टम वर्ग से है इसका मतलब यह नहीं है कि यह "डिज़ाइन" है। आप वास्तव में यहां प्राप्त करने का प्रयास करते हैं (और जो मैं खोज रहा हूं) "कंटेनर" सेल का कुछ राजा है, लेकिन यह केवल आईओएस 6 में कंटेनर व्यू कंट्रोलर के साथ करने योग्य है।दूसरा विकल्प उस सेल के लिए एक्सआईबी का उपयोग करना है - जो कि उतना ही अच्छा काम करना चाहिए, लेकिन फिर आप स्टोरीबोर्ड में एक सिंहावलोकन रखने के लाभ खो देते हैं।

0

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

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