जैसा कि इमेज में बताया गया है, मैं डायनामिक सेल बना रहा हूं। मैं टेबल व्यू में डायनामिक सेल कैसे बना सकता हूं।

कोड

self.arrayContainer = [[NSMutableArray alloc]initWithObjects:
                           [NSDictionary dictionaryWithObjectsAndKeys:
                            @"H.Rackham",@"name",
                            @"20/7/1994",@"date",
                            @"Lorem ipsum dolor sit amet, qui ex blandit posidonium efficiantur, sed te veri bonorum. Per id iriure utroque docendi. Stet patrioque incorrupte ea nam. Prima molestie accommodare nam in, inermis omnesque vix cu.                            Est posse suavitate eu, ei justo labitur necessitatibus has, no sea agam liber. Deseruisse elaboraret eu ius. Est verterem sententiae an. Prompta elaboraret duo cu, aperiam dolorem has an, ubique nominati comprehensam no pri. In autem scripta concludaturque cum.",@"Description",nil],
                           [NSDictionary dictionaryWithObjectsAndKeys:
                            @"Sophia Rhodes",@"name",
                            @"20/7/1994",@"date",
                            @" Deseruisse elaboraret eu ius. Est verterem sententiae an. Prompta elaboraret duo cu, aperiam dolorem has an, ubique nominati comprehensam no pri. In autem scripta concludaturque cum.",@"Description",
                            nil],
                           nil];

}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [self.arrayContainer count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *identifier = @"cell";

    UITableViewCell *cell = [tableView  dequeueReusableCellWithIdentifier:identifier];

    cell.textLabel.text = [[self.arrayContainer objectAtIndex:indexPath.row ]valueForKey:@"name"];
    cell.detailTextLabel.text = [[self.arrayContainer objectAtIndex:indexPath.row ]valueForKey:@"date"];
    return cell;

}
-(CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 44;
}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return UITableViewAutomaticDimension;
}

छवि

enter image description here

मैंने सरल कोड डेमो बनाया है। अब मुझे इस प्रकार की कार्यक्षमता चाहिए।

1) नाम और तारीख को अलग-अलग तरीके से प्रदर्शित किया जाना चाहिए जैसा कि छवि में बताया गया है।

2) सामग्री के अनुसार सेल का आकार बदलना चाहिए।

शुक्रिया

1
Hardik1344 7 जिंदा 2017, 20:02

1 उत्तर

सबसे बढ़िया उत्तर

आपको CustomCell का उपयोग करना होगा।

Objective-C वर्ग टेम्पलेट के साथ प्रोजेक्ट में एक नई फ़ाइल जोड़ें। इसे DetailViewell नाम दें और इसे UITableViewCell का उपवर्ग बनाएं।

आपकी पहली आवश्यकता के लिए: कृपया इसका पालन करें, इससे आपको मदद मिलेगी: कस्टम सेल कैसे बनाएं

आपकी दूसरी आवश्यकता के लिए:

यदि आप लेबल के लिए उचित autolayout बाधाएं निर्धारित करते हैं तो आपको इसे प्राप्त करने के लिए केवल निम्नलिखित प्रतिनिधि विधि निर्धारित करनी होगी।

-(CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
   //minimum size of your cell, it should be single line of label if you are not clear min. then return UITableViewAutomaticDimension;    
   return UITableViewAutomaticDimension; 
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return UITableViewAutomaticDimension;
}
2
Suraj Sukale 7 जिंदा 2017, 20:19
मुझे सुझाव देने के लिए धन्यवाद सूरज, मैं लेबल के लिए ऑटोलायआउट बाधाओं को कैसे सेट कर सकता हूं?
 – 
Hardik1344
7 जिंदा 2017, 20:29
कृपया देखें /12789013/…
 – 
Suraj Sukale
7 जिंदा 2017, 20:40
आपका स्वागत है @ hd1344, अगर यह काम कर रहा है तो आप मेरे उत्तर को अपवोट और स्वीकार कर सकते हैं, क्योंकि यह भविष्य में दूसरों के लिए मददगार होगा :)
 – 
Suraj Sukale
9 जिंदा 2017, 09:35