Tags in TextField

I have three cells, within that I have each textfields. Now I want the user is clicking in which textbox. This method textFieldDidEndEditing gives me the value which user is inputting but I don't get any tag of the textfield.

Here is my code:

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{   switch (section) 
    {   case 0: return @"";
        case 1: return @"";
        default:return @"";
    }
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
        if(optconscodecount != 0 && gotOK == 2)
        return 2;
    else
        return 1;
}
// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    switch(section) 
    { case 0: try=1;    return conscodecount;
      case 1: try=2;  return optconscodecount;
      default:return 0;}
}
// Heights per row
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{  int section = [indexPath section];
    //int row = [indexPath row];
    switch (section) 
    {case 0:return 80.0f;
    case 1:return 80.0f;
    default:return 80.0f;}
}
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    NSLog(@"\n%@", appDelegate.conscodeNameArray);
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
    }
       // Set up the cell...
    row = [indexPath row];
    section = [indexPath section];
    switch (section) 
    {case 0:try=1;cell = [tableView dequeueReusableCellWithIdentifier:@"textCell"];
            if (!cell) 
            {cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"textCell"] autorelease];
            UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20.0f, 10.0f, 280.0f, 20.0f)];
                [label setText:[appDelegate.conscodeNameArray objectAtIndex:row]];[cell addSubview:label]; [label release];
                [cell addSubview:[[UITextField alloc] initWithFrame:CGRectMake(20.0f, 40.0f, 280.0f, 30.0f)]];
            }
            UITextField *tf = [[cell subviews] lastObject];
            tf.placeholder = [appDelegate.conscodeNameArray objectAtIndex:row];
            tf.tag =tagcount;
            tagcount=tagcount+1;
            tf.delegate = self;
            tf.borderStyle = UITextBorderStyleRoundedRect;
            return cell;
            break;

        case 1:
            try=2;
            cell = [tableView dequeueReusableCellWithIdentifier:@"textCell"];
            if (!cell) 
            {
                cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"textCell"] autorelease];

                UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20.0f, 10.0f, 280.0f, 20.0f)];
                [label setText:[appDelegate.optconscodeNameArray objectAtIndex:row]];
                [cell addSubview:label];
                [label release];
                [cell addSubview:[[UITextField alloc] initWithFrame:CGRectMake(20.0f, 40.0f, 280.0f, 30.0f)]];
            }
            UITextField *my = [[cell subviews] lastObject];
            my.tag = 0;
            my.tag = my.tag+1;
            my.placeholder = [appDelegate.optconscodeNameArray objectAtIndex:row];
            my.delegate = self;
            my.borderStyle = UITextBorderStyleRoundedRect;
            return cell;
            break;
            return cell;    
            break;
        default:
            break;
    }
return cell;
}

Answers


nameField.tag = 1;

agefield.tag = 2;

// in the delegate method just check

if (textField.tag == 1) {
NSLog(@" clicked in Name field"); 

} else if (textField.tag ==2) {
 NSLog(@" clicked in Age field");
}

If you were to retain each text field in an instance variable, you could do a simple comparison in your delegate method to see which field had finished editing. You can do this even if you create them completely dynamically by using an associative array to map from the instance to the field name, or vice-versa.


Need Your Help

Deploying war file on Vesta CP

java ftp war cpanel vps

I am doing this for the first time. I have a VPS server with Vesta CP installed on it. I did the following -

how to listen for android hardware events

android events usb hardware

I have a custom android application deployed in an android powered device. Now my client wants me to make adjustments so that if I take a software update in my usb , and insert in the device , the