Please see the code
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier";
UITableViewCell *cell = [tableView
dequeueReusableCellWithIdentifier:SimpleTableIdentifier];
UILabel *playerHeading;
UITextField *txt;
if (cell == nil)
{
cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:SimpleTableIdentifier] autorelease];
playerHeading=[[UILabel alloc ]initWithFrame:CGRectMake(5.0f, 10.0f, 70.0f, 30.0f)];
txt=[[UITextField alloc]initWithFrame:CGRectMake(80.0f, 13.0f, 170.0f, 30.0f)];
txt.tag=2;
[txt setBackgroundColor:[UIColor clearColor]];
//[txt setTextColor:[UIColor blackColor]];
//[txt setBackgroundColor:[UIColor whiteColor]];
[txt setTextColor:[UIColor grayColor]];
txt.delegate=self;
//[txt setBorderStyle:UIBorderStyle ]
[txt setText:@"Enter Player name"];
//txt.layer.cornerRadius=8.0f;
// txt.layer.masksToBounds=YES;
//txt.layer.borderColor=[[UIColor redColor]CGColor];
// txt.layer.borderWidth= 1.0f;
[playerHeading setBackgroundColor:[UIColor clearColor]];
[playerHeading setFont:[UIFont boldSystemFontOfSize:15]];
[playerHeading setTag:1];
[playerHeading setBackgroundColor:[UIColor clearColor]];
NSString *str=[NSString stringWithFormat:@"Player %i",indexPath.row];
[playerHeading setText:str];
[playerHeading setFont:[UIFont boldSystemFontOfSize:15]];
// NSLog(@"row %i ,section %i",indexPath.row,indexPath.section);
[cell.contentView addSubview:playerHeading];
}
else
{
playerHeading = [cell.contentView viewWithTag:1];
txt=[cell.contentView viewWithTag:2];
// NSLog(@"row %i ,section %i",indexPath.row,indexPath.section);
}
if(indexPath.section%2==0){
playerHeading.textColor=[UIColor blueColor];
}
else{
playerHeading.textColor=[UIColor redColor];
}
playerHeading.text = [NSString stringWithFormat:@"Player %i",indexPath.row];
txt.tag=indexPath.section;
// NSString *nam=[NSString stringWithFormat:@"%i",indexPath.row];
// [txt setName:nam];
//txt.clearsOnBeginEditing=YES;
[cell.contentView addSubview:txt];
//cell.accessoryView=txt;
return cell;
}
I have created a UITable with 7 sections each section contains 4 players user need to fill the text fields in reach row , but issue is that when i scroll the table textfields become set to default value please help how can i set the textfields to fixed value inserted by used
For solving your problem is storing the user inserted string into a data structure which will give easy access to the string with the help of section and row.
You can use a NSMutableDictionary whose key will be section number which will store an array and the ‘row’ index of array will give you the string typed in that particular text field.
In cellForRowAtIndexPath you will have to check if string exists for that cell else show default string or placeholder.