在UITableView委托方法之外的目标c中将表格文本设置为表格的文本字段

时间:2016-01-21 07:28:48

标签: objective-c iphone uitableview uitextfield

我是目标C的新手,并制作了一个演示应用程序。

在这个应用程序中我有一个包含textField的UITableView。当我点击一个按钮(使用Facebook登录),从Facebook成功登录后它回到我的TableView屏幕,那时我想设置值来自Facebook对UITableView的textFields的回应,但我无法做到,因为TableView的委托方法只调用一次。

有人可以帮我在其委托方法之外设置textView到textView的文本吗?

 NSString *cellIdentifier = [[signInTableData objectAtIndex:2] objectForKey:@"cellIdentifier"];

 signUpCustomCell *cell = (signUpCustomCell *)[signUpTable dequeueReusableCellWithIdentifier:cellIdentifier];
 //NSLog(@"=====my username cell====%@",indexPath);
 if(cell == nil)
 {
    cell = (signUpCustomCell *)[[signUpCustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
 }
 cell.backgroundColor = [UIColor clearColor];
 cell.tableField.delegate = self;

 CGRect frmTxt = cell.tableField.frame;
 frmTxt.size.width = signUpTable.frame.size.width + TRAIL_MARGIN_CELL_CONTENT;
 cell.tableField.frame = frmTxt;
 cell.tableField.text = @"hello test";

2 个答案:

答案 0 :(得分:0)

如果您知道UITextField在哪一行,则可以UITableView查询给定IndexPath的单元格。

NSIndexPath *ip = [NSIndexPath indexPathForRow:0 inSection:0];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:ip];

您需要将该单元格转换为您用于访问内部UITextField的自定义单元格,并且您的自定义UITableViewCell应具有指向UITextField的属性或一种更新文本的方法。

在将数据加载到-(void)viewWillAppear之后,-(void)viewDidApper子类中的

UIViewControllerUITableView覆盖可能是这样做的地方。

答案 1 :(得分:-1)

您需要在委托中将值设置为UITextFieldcellForRowAtIndexPath的每个单元格呈现UITableView

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"yourcellidentifier"];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"yourcellidentifier"] autorelease];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }
    cell.yourTextView.text= textforRow;
    return cell;
}