2016-01-21 37 views
0

我是新来的目标C,并制作了一个演示应用程序。将文本设置为表格的文本字段在UITableView委托方法之外的目标c中的单元格

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

任何人都可以请帮助我设置文本到其委托方法之外的tableView的textField吗?

代码

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"; 

回答

0

如果你知道在哪一行你UITextField然后你就可以查询UITableView在给定IndexPath细胞。

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

你需要到该小区转换为你使用什么都自定义单元格访问UITextField内,您的自定义UITableViewCell应该有一个指向,将更新的文字或UITextField的方法的属性。

-(void)viewWillAppear-(void)viewDidApper覆盖您的UIViewController子类可能是您将数据加载到UITableView之后要做的地方。

+0

我已经这样做了,'NSIndexPath * ip = [NSIndexPath indexPathForRow:2 inSection:1]; UITableViewCell * cell = [self-> tableView cellForRowAtIndexPath:ip]; cell.tableField.text = email;'但它表示在控制器的对象类型上找不到tableField。 –

+0

我知道的索引路径是2.并且里面有textField,请告诉我为它设置文本。 –

+0

@ ConcentratedH2SO4 1)你确定你在第1部分(这意味着你有多个部分)? 2)如果您使用自定义单元格,则需要将该单元格转换为您的自定义单元格。如果你不使用自定义单元格,你需要在InterfaceBuilder中为“UITextField”设置一个标签,并使用'[cell.contentView viewWithTag:@“”]'从单元格中找到它。我会建议使用自定义单元格。 –

-1

你需要,因为它呈现为UITableView每一个细胞值设置成UITextField在委托 cellForRowAtIndexPath

- (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; 
} 
+0

请先看我的问题.. !!! –

相关问题