-1

我有一个表格视图,在每一行中都有一个添加按钮单击新行添加下面我希望单击该行中有一个文本字段,用户可以在其上输入一个 texh 你能帮我如何添加一个添加行中的文本字段。这是我的代码

-(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];

}

和表格视图方法

- (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;
}
4

1 回答 1

0

试试这样可能对你有帮助,

1.以一个全局变量类型整数为例位置。

2.当您单击特定按钮时 -(void)buttonclicked:(UIButton *)sender 方法将在此方法中调用,您会将 btn.tag 值分配给 position 。

3.之后,您在 tableview cellForRowAtIndexPath 方法中重新加载表格视图,采用一个条件,例如

if(position==indexpath.row)
{
//add your textfield here
}.
于 2013-03-15T06:18:39.863 回答