1

私はtableviewにラベルとテキストフィールドを持っています.今私が欲しいのは、textfieldDidEditingメソッドのテキストフィールドに挿入した値であり、値を計算してtablevievwのインデックスパスのラベルに返す必要があります.

4

2 に答える 2

3

textfieldDidEditingでは、対応するテキストフィールドのセルを取得し、値を計算して、次のようにラベルに割り当てることができます。

yourTableViewCell *cell = (yourTableViewCell *)[[textField superview] superview];
cell.yourLabel.text = value;
于 2012-06-07T12:58:35.110 に答える
0
/* u just give Tag to TextField and in textFieldDidEndEditing, save textfield text into an string and then reload the row...here is the code..also have sample */


-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexpath
{
    UITableViewCell *cell = [[UITableViewCell alloc] init];

    UITextField *txtField1 = [[UITextField alloc]initWithFrame:CGRectMake(20, 10, 100, 80)];
    txtField1.tag = indexpath.row;
    txtField1.delegate= self;
    [cell addSubview:txtField1];

    UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(140, 10, 100, 80)];

    [cell addSubview:label1];

    //set text in label ** str1 comes from textFieldDidEndEditing
    label1.text = str1;

    return cell;
}

-(void)textFieldDidEndEditing:(UITextField *)textField
{
    //save textField text to any string**declair it global
    str1 = textField.text;

    //reload selected row in table
    NSIndexPath *durPath = [NSIndexPath indexPathForRow:textField.tag inSection:0];
    NSArray *paths = [NSArray arrayWithObject:durPath];
    [tbl reloadRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationRight];
}
于 2012-06-08T09:56:11.630 に答える