ios - Uitableview Cells not all working? -
here code, section 0 shows title, not textfield or placeholder, whats deal? section 1 fine!
- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath { uitableviewcell *cell = [[uitableviewcell alloc] initwithstyle:uitableviewcellstyledefault reuseidentifier:nil]; // make cell unselectable , set font. cell.selectionstyle = uitableviewcellselectionstylenone; cell.textlabel.font = [uifont fontwithname:@"arialmt" size:12]; if (indexpath.section == 0) { uitextfield* tf = nil; switch ( indexpath.row ) { case 0: { cell.textlabel.text = @"name" ; tf = namefieldtextfield = [self maketextfield:self.name placeholder:@"john appleseed"]; [cell addsubview:namefieldtextfield]; break ; } case 1: { cell.textlabel.text = @"address" ; tf = addressfieldtextfield = [self maketextfield:self.address placeholder:@"street address"]; [cell addsubview:addressfieldtextfield]; break ; } case 2: { cell.textlabel.text = @"email" ; tf = emailfieldtextfield = [self maketextfield:self.email placeholder:@"example@gmail.com"]; [cell addsubview:emailfieldtextfield]; break ; } case 3: { cell.textlabel.text = @"phone" ; tf = phonefieldtextfield = [self maketextfield:self.phone placeholder:@"xxx-xxx-xxxx"]; [cell addsubview:phonefieldtextfield]; break ; } } } else if (indexpath.section == 1) { uitextfield* tf = nil; switch ( indexpath.row ) { case 0: { cell.textlabel.text = @"company" ; tf = worknametextfield = [self maketextfield:self.workname placeholder:@"company name"]; [cell addsubview:worknametextfield]; break ; } case 1: { cell.textlabel.text = @"address" ; tf = workaddresstextfield = [self maketextfield:self.workaddress placeholder:@"work address"]; [cell addsubview:workaddresstextfield]; break ; } case 2: { cell.textlabel.text = @"phone" ; tf = workphonetextfield = [self maketextfield:self.workphone placeholder:@"xxx-xxx-xxxx"]; [cell addsubview:workphonetextfield]; break ; } case 3: { cell.textlabel.text = @"title" ; tf = worktitletextfield = [self maketextfield:self.worktitle placeholder:@"position"]; [cell addsubview:worktitletextfield]; break ; } case 4: { cell.textlabel.text = @"manager" ; tf = workmanagertextfield = [self maketextfield:self.workmanager placeholder:@"mr. boss"]; [cell addsubview:workmanagertextfield]; break ; } case 5: { cell.textlabel.text = @"manager phone" ; tf = workmanagerphonetextfield = [self maketextfield:self.workmanagerphone placeholder:@"xxx-xxx-xxxx"]; [cell addsubview:workmanagerphonetextfield]; break ; } case 6: { cell.textlabel.text = @"annual salary" ; tf = workmanagerphonetextfield = [self maketextfield:self.workmanagerphone placeholder:@"$50,000"]; [cell addsubview:workmanagerphonetextfield]; break ; } } // textfield dimensions tf.frame = cgrectmake(120, 12, 170, 30); // workaround dismiss keyboard when done/return tapped [tf addtarget:self action:@selector(textfieldfinished:) forcontrolevents:uicontroleventeditingdidendonexit]; } return cell; }
you set frame property section 1, not section 0. set the
// textfield dimensions tf.frame = cgrectmake(120, 12, 170, 30); // workaround dismiss keyboard when done/return tapped [tf addtarget:self action:@selector(textfieldfinished:) forcontrolevents:uicontroleventeditingdidendonexit]; part outside the else if(indexpath.section == 1) braces (and declare tf variable before first if) or copy/paste after first switch :p
Comments
Post a Comment