-1

I have a table view and in each row there is a add button on click the new row adding below i want that onclick the row has one text field in it and a user can enter a texh on it can you help me how to add a text field in the adding row. here is my code

-(void)buttonclicked:(UIButton *)sender
{

    UIButton *btn = (UIButton *)[self.view viewWithTag:sender.tag];
    NSLog(@"clickedCell=%i", btn.tag);

    [[NSUserDefaults standardUserDefaults]setValue:[NSString stringWithFormat:@"%i", btn.tag] forKey:@"btntag"];
    [self.choices insertObject:@"newrow" atIndex:btn.tag+1];


        [self.tableView reloadData];

}

and the table view method

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{


    static NSString *CellIdentifier = @"Cell";

    cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
     if (cell == nil)
     {


        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }



    UIButton *button = [UIButton buttonWithType:UIButtonTypeContactAdd];
    button.tag = indexPath.row;
    button.frame = CGRectMake(280.0, 10, 25, 30.0); // x,y,width,height

    [button addTarget:self action:@selector(buttonclicked:) forControlEvents:UIControlEventTouchUpInside];
    [cell addSubview:button];

    UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:cell action:nil];
    longPress.delegate = self;
    [cell addGestureRecognizer:longPress];

    int count = 0;
    if(self.editing && indexPath.row != 0)
        count = 1;
    NSLog([NSString stringWithFormat:@"%i,%i",indexPath.row,(indexPath.row-count)]);

    // Set up the cell...
    if(indexPath.row == ([_choices count]) && self.editing)
    {
        cell.textLabel.text = @"ADD";
        return cell;
    }

    NSString *choice = [self.choices objectAtIndex:indexPath.row];

    cell.textLabel.text = choice;



    return cell;
}
Shamsudheen TK
  • 30,739
  • 9
  • 69
  • 102
Priyanka
  • 71
  • 1
  • 5

1 Answers1

0

try like this may be it helps to you,

1.take one global variable type integer for example position.

2.when you click on particular button -(void)buttonclicked:(UIButton *)sender method will call in this method you will assign the btn.tag value to the position .

3.after that you are reloading the table view in the tableview cellForRowAtIndexPath method take one condition like

if(position==indexpath.row)
{
//add your textfield here
}.
Balu
  • 8,470
  • 2
  • 24
  • 41