我是目标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";
答案 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
子类中的 UIViewController
或UITableView
覆盖可能是这样做的地方。
答案 1 :(得分:-1)
您需要在委托中将值设置为UITextField
为cellForRowAtIndexPath
的每个单元格呈现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;
}