2010-07-15 8 views
5

में एकाधिक कॉलम टेबलव्यू की पंक्ति में एकाधिक कॉलम कैसे बनाएं? यदि कोई नमूना दें या कृपया मुझे निर्देश दें तो यह आभारी होगा!टेबलव्यू

उत्तर

6

UITableView वास्तव में एकाधिक कॉलम के लिए डिज़ाइन नहीं किया गया है। लेकिन आप कस्टम UITableCell क्लास बनाकर कॉलम अनुकरण कर सकते हैं। इंटरफ़ेस बिल्डर में अपना कस्टम सेल बनाएं, प्रत्येक कॉलम के लिए तत्व जोड़ना। प्रत्येक तत्व को एक टैग दें ताकि आप इसे अपने नियंत्रक में संदर्भित कर सकें।

अपने नियंत्रक अपने निब से सेल लोड करने के लिए एक आउटलेट दें:

@property(nonatomic,retain)IBOutlet UITableViewCell *myCell;

फिर, अपनी तालिका दृश्य प्रतिनिधि के cellForRowAtIndexPath विधि में, टैग द्वारा उन मूल्यों को आवंटित।

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    static NSString *cellIdentifier = @"MyCell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
    if (cell == nil) { 
    // load cell from nib to controller's IBOutlet 
    [[NSBundle mainBundle] loadNibNamed:@"MyTableCellView" owner:self options:nil]; 
    // assign IBOutlet to cell 
    cell = myCell; 
    self.myCell = nil; 
    } 

    id modelObject = [myModel objectAtIndex:[indexPath.row]]; 

    UILabel *label; 
    label = (UILabel *)[cell viewWithTag:1]; 
    label.text = [modelObject firstField]; 

    label = (UILabel *)[cell viewWithTag:2]; 
    label.text = [modelObject secondField]; 

    label = (UILabel *)[cell viewWithTag:3]; 
    label.text = [modelObject thirdField]; 

    return cell; 
} 
+0

आपके मूल्यवान उत्तर के लिए धन्यवाद। लेकिन मुझे हेडर और रिकॉर्ड्स के साथ मैट्रिक्स टेबल व्यू जैसे डेटाग्रिड की आवश्यकता है .. – sri

+0

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

+0

मैं इसे अपने लिए दोहराना चाहता हूं, क्या आप कक्षा के प्रकार पर विस्तार कर सकते हैं कि यह कस्टम सेल आईबी में होना चाहिए? उस नए सेल के लिए आप प्रत्येक आउटलेट के लिए अपने आउटलेट पर मैप करने के लिए लोड करते हैं, क्या MyTableView NIB में एक कस्टम क्लास का टेबल व्यू सेल होता है जो UITableViewCell से प्राप्त होता है और इसमें MyCell आउटलेट होता है? मालिक का आपका उपयोग: यहां स्वयं यह सुझाव देता है कि लोड किया गया सेल वास्तव में UITableViewController प्रकार का है, जो अजीब लगता है। –

0

आप कई यूआईटीबल व्यू का उपयोग कर सकते हैं। यह कस्टम कोशिकाओं के साथ ठीक दिखना चाहिए। तो आप डेटाग्रिड की तरह दिखने तक इसे बदल सकते हैं। ;-)

0

मैंने UIGridView बनाया है जिसमें एक एकल UITableViewCell में एक से अधिक कोशिकाएं हैं। आप UIGridView का स्रोत कोड सीख सकते हैं।

मेरी सलाह है कि आप इसे अपने UIViewController में कोड न करें। बाहरी नियंत्रण बनाएं और इसे UIViewController में उपयोग करें एक बेहतर तरीका है।

या आप मेरा उपयोग कर सकते हैं :)

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