2011-07-05 31 views

回答

1

enter code here你需要跟蹤存儲文本字段值的NSMutableArray。使初始值@「」。當您將文本字段插入單元格時,請將值設置爲數組中的相應值。

當文本框退出,就這樣出頭來存儲文本字段值的數組

-(BOOL)textFieldShouldReturn:(UITextField *)textField 
    { 
    UITableViewCell *cell=(UITableViewCell *)textField.superview; 
    NSIndexPath *indexPath = [table indexPathForCell:cell]; 

    NSMutableArray *rows=[sectionArray objectAtIndex:[indexPath section]]; 
    NSString *string=[rows objectAtIndex:indexPath.row]; 
    string=textField.text; 
    [[sectionArray objectAtIndex:[indexPath section]]replaceObjectAtIndex:[indexPath row] withObject:string]; 
    [textField resignFirstResponder]; 
    return YES; } 

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

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:myCellId]; 
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault 
            reuseIdentifier: myCellId]; 

    CGRect textFieldFrame; 
    CGRect labelFrame; 
    labelFrame = CGRectMake(cell.frame.origin.x+45, cell.frame.origin.y+3, labelWidth, cell.bounds.size.height-5); 
    textFieldFrame = CGRectMake(cell.frame.origin.x+labelWidth+15, cell.frame.origin.y+12 ,cell. 
    UILabel *label = [[UILabel alloc]initWithFrame:labelFrame]; 

    UITextField *textField = [[UITextField alloc]initWithFrame:textFieldFrame]; 
    textField.keyboardType=UIKeyboardTypeNumberPad; 
    textField.delegate = self; 
    textField.text = [[sectionArray objectAtIndex:[indexPath section]]objectAtIndex:[indexPath row]]; 


    [cell addSubview:label]; 
    [cell addSubview:textField]; 

    cell.selectionStyle = UITableViewCellSelectionStyleNone; 
    return cell; 
} 
+0

感謝您的回答,但在輸入文本後調用此方法,但滾動後應該如何獲取先前輸入的值並在TextField中再次顯示該值? –

+0

單元格製作完成後,它包含一個文本字段,並且該文本字段將從數組中正確的條目中預裝它的值。因此,只需找出表格中的單元格行並從該數組中取出該值(不要忘記在每個點上預先加載@「」作爲默認值。 – James

+0

感謝James給我的寶貴回覆但是當滾動時,我應該如何知道可見文本字段的名稱而不點擊它 –

0

這是因爲在您滾動時,tableview會動態創建並銷燬單元格以節省內存。如果你還沒有想出一種方法來解決這個問題,讓我知道,我會幫你找到解決方案

+0

沒有在,仍然沒有解決。 –

相關問題