从表格单元格访问数据

时间:2010-08-14 21:07:20

标签: ios iphone uitableview uitextfield cell

我正在创建一个表单,并且想知道是否有人知道如何从表格单元格中检索UITextField值。

- (IBAction)saveForm:(id)sender {
   NSLog(@"TextField Value => %@", titleField.text);
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    ...
switch(indexPath.section)
{
    case 0:
        if (row == 0) {
        cell.selectionStyle = UITableViewCellSelectionStyleNone;

        CGRect titleFieldFrame = CGRectMake(20.0, 80.0, 280.0, 25.0);
        UITextField *titleField = [[UITextField alloc] initWithFrame:titleFieldFrame];
        [titleField setBorderStyle:UITextBorderStyleRoundedRect];
        [titleField setTextColor:[UIColor blackColor]];
        [titleField setFont:[UIFont systemFontOfSize:16]];
        [titleField setPlaceholder:@"Title"];
        [titleField setBackgroundColor:[UIColor whiteColor]];
        titleField.keyboardType = UIKeyboardTypeDefault;
        titleField.returnKeyType = UIReturnKeyDone;
        [cell addSubview:titleField];
    } 
    break;    
return cell;

}

2 个答案:

答案 0 :(得分:0)

为titleField指定一个特殊标记,例如

    UITextField *titleField = [[UITextField alloc] initWithFrame:titleFieldFrame];
    titleField.tag = 11280492;

然后使用-viewWithTag:获取该视图。

-(IBAction)saveForm:(id)sender {
   UITableViewCell* cell = ...
   UITextField* titleField = [cell viewWithTag:11280492];
   NSLog(@"TextField Value => %@", titleField.text);
}

答案 1 :(得分:0)

您可以简单地创建一个实例变量并为其指定titleField。或者您可以使用[titleField setTag:123]分配标记,然后通过[yourTableView viewWithTag:123]检索它。