将文本设置为表格的文本字段在UITableView委托方法之外的目标c中的单元格
我是新来的目标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";
如果你知道在哪一行你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
之后要做的地方。
你需要,因为它呈现为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;
}
请先看我的问题.. !!! –
我已经这样做了,'NSIndexPath * ip = [NSIndexPath indexPathForRow:2 inSection:1]; UITableViewCell * cell = [self-> tableView cellForRowAtIndexPath:ip]; cell.tableField.text = email;'但它表示在控制器的对象类型上找不到tableField。 –
我知道的索引路径是2.并且里面有textField,请告诉我为它设置文本。 –
@ ConcentratedH2SO4 1)你确定你在第1部分(这意味着你有多个部分)? 2)如果您使用自定义单元格,则需要将该单元格转换为您的自定义单元格。如果你不使用自定义单元格,你需要在InterfaceBuilder中为“UITextField”设置一个标签,并使用'[cell.contentView viewWithTag:@“”]'从单元格中找到它。我会建议使用自定义单元格。 –