UITextField没有返回任何内容

时间:2014-07-18 20:01:01

标签: ios objective-c uitableview uitextfield

我有一个没有返回任何内容的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。

3 个答案:

答案 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];

}