यहां बताया गया है कि इसका सही तरीका मैं कैसे मानता हूं। यह Ipad और Iphone पर काम करता है जैसा कि मैंने इसका परीक्षण किया। हमें एक स्वयंचलित वर्ग को वर्गीकृत करके अपने स्वयं के कस्टमकैल्स बनाने होंगे:
इंटरफ़ेस में शुरू करें।
अब सभी विचारों को मिटा दें और एक दृश्य बनाएं यह एक व्यक्तिगत सेल का आकार बनाता है। उस दृश्य को उपवर्ग कस्टम बनाएं। अब दो अन्य दृश्य बनाएं (पहले डुप्लिकेट करें)।
अपने कनेक्शन इंस्पेक्टर के पास जाएं और 2 IBOutlets खोजें जो आप इन विचारों से जुड़ सकते हैं।
-बैकग्राउंड व्यू -सेलेक्टेडबैक
इन अंतिम दो विचारों को आप केवल डुप्लिकेट से कनेक्ट करें और उनके बारे में चिंता न करें। बहुत पहले दृश्य जो customCell का विस्तार करता है, अपने लेबल और uitextfield को इसके अंदर रखें। CustomCell.h में मिला और अपने लेबल और टेक्स्टफ़ील्ड को हुक करें। इस दृश्य की ऊँचाई 75 (प्रत्येक कोशिका की ऊँचाई) कहने के लिए निर्धारित करें।
अपने customCell.m फ़ाइल में सुनिश्चित करें कि कंस्ट्रक्टर कुछ इस तरह दिखता है:
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
NSArray *nibArray = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
self = [nibArray objectAtIndex:0];
}
return self;
}
अब एक UITableViewcontroller बनाएं और इस विधि में इस तरह customCell वर्ग का उपयोग करें:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
// lets use our customCell which has a label and textfield already installed for us
customCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
//cell = [[[customCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
NSArray *topLevelsObjects = [[NSBundle mainBundle] loadNibNamed:@"NewUserCustomCell" owner:nil options:nil];
for (id currentObject in topLevelsObjects){
if ([currentObject isKindOfClass:[UITableViewCell class]]){
cell = (customCell *) currentObject;
break;
}
}
NSUInteger row = [indexPath row];
switch (row) {
case 0:
{
cell.titleLabel.text = @"First Name"; //label we made (uitextfield also available now)
break;
}
}
return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 75.0;
}