1

我目前正在尝试让用户能够编辑多个单元格的内容。更新后,数据将发送到 Web 服务。

好的,据我所知,现在只有“删除”和“添加”行。我似乎找不到任何关于如何编辑单元格内容的指南或教程。

非常感谢您的建议和/或建议。

if (editingStyle == UITableViewCellEditingStyleDelete) {
    // Delete the row from the data source
    [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
}   
else if (editingStyle == UITableViewCellEditingStyleInsert) {
    // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
}   
4

1 回答 1

3

您不能直接编辑单元格内容。如果您需要编辑内容,请在单元格中添加UITextFieldUITextView作为其子视图。然后访问它们。

编辑:您可以添加如下文本字段:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *cellIdentifier = @"cellIdentifier";

    UITableViewCell *cell;
    cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

    if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];

        [cell setSelectionStyle:UITableViewCellSelectionStyleNone];

        // ADD YOUR TEXTFIELD HERE
        UITextField *yourTf = [[UITextField alloc] initWithFrame:CGRectMake(0, 5, 330.0f, 30)];
        [yourTf setBackgroundColor:[UIColor clearColor]];
        yourTf.tag = 1;
        yourTf.font = [UIFont fontWithName:@"Helvetica" size:15];
        yourTf.textColor = [UIColor colorWithRed:61.0f/255.0f green:61.0f/255.0f blue:61.0f/255.0f alpha:1.0f];
        yourTf.delegate = self;
        [cell addSubview:yourTf];

    }

    // ACCESS YOUR TEXTFIELD BY REUSING IT
    [(UITextField *)[cell viewWithTag:1] setText:@"YOUR TEXT"];

    return cell;
}

实现 UITextField 委托,然后您可以使用此 UITextField 编辑单元格内容。

希望它可以帮助你。

于 2013-08-05T11:17:07.997 回答