我有一个没有返回任何内容的TextField。甚至都没有。
在cellForRowAtIndexPath中我有:
UsernameTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"UsernameTableViewCell" forIndexPath:indexPath];
cell.username.delegate = self;
return cell;
然后在didSelectRowAtIndexPath中我有:
UsernameTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"UsernameTableViewCell" forIndexPath:indexPath];
但是,每当我尝试记录cell.username.text时,我什么也得不到。当我记录cell.username时,我得到了这个:
Cell <UITextField: 0x9ce6650; frame = (0 0; 320 74); text = ''; clipsToBounds = YES; opaque = NO; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x9cc7e00>; layer = <CALayer: 0x9cde170>>
一些背景信息:我在TableViewCell中有一个到UITextField的IBOutlet。我正试图在TableViewController中获取它的数据。基本上,我在TableViewCell中有一个UITextField,我正在尝试将用户键入的内容输入到TextField并将其发送到TableViewController中的Parse。
答案 0 :(得分:0)
在UsernameTableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
方法中尝试didSelectRowAtIndexPath
。
答案 1 :(得分:0)
尝试以下方法。如果你收到Undo答案的警告,那么强制它应该修复警告。
UsernameTableViewCell *cell = (UsernameTableViewCell *)[tableView cellForRowAtIndexPath:indexPath];
NSLog(@"%@", cell.username);
答案 2 :(得分:0)
我做了类似的事情..我在tableViewCell中有一个文本字段,我在Custom Cell中制作并将其指定为一个IBoutlet t theta CustomCell的CLass然后做了类似的事情..
你需要将一个数组维护为“textFieldValueArray”,它在编辑时包含文本字段的所有值,或者不是我所做的是创建一个空字符串的数组(例如在viewLoads开始时的“”),并且在数组中插入字符串,使其等于tableView单元格的数量,然后,
In -cellForRowAtIndexPath
(UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
cell.userName.delegate=self;
cell.userName.text=[textFieldValueArray objectAtIndex: indexPath.row];
[cell.userName addTarget:self action:@selector(usernameEdited:event:) forControlEvents:UIControlEventEditingDidEnd];
}
然后在textField方法中:
-(IBAction)usernameEdited:(UITextField*)textField event:(UIEvent*)event{
NSString *str=[NSString stringWithFormat:@"%@",textField.text];
CGPoint location = [self.tableView convertPoint:textField.frame.origin fromView:textField.superview];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:location];
[self.tableArray setObject: str atIndexedSubscript:indexPath.row];
[self.tableView reloadData];
}