表格单元子视图迭代未找到TextField

Max*_*Max 0 iphone objective-c subview uitableview

我创建了一个表,其中每个单元格都包含文本标签和文本字段.我正在添加文本字段[cell addSubview:passwordField];,从视觉角度看它们是可编辑的,等等....

当我尝试从文本字段中检索输入的值时,会出现问题.我遍历单元格并尝试抓取子视图(IE文本字段),但是,我的迭代只发现文本标签.

这是我用来搜索的代码:

for(NSInteger i =0; i < [tableView numberOfRowsInSection:0]; i++){
   NSIndexPath *path = [NSIndexPath indexPathForRow:i inSection:0];
   UITableViewCell *cell = [tableView cellForRowAtIndexPath:path];
   UIView* subView = [[cell.contentView subviews]lastObject]; // I've also tried object at index here

// Anything beyond this is just matching....
Run Code Online (Sandbox Code Playgroud)

我采取的另一种方法是递归搜索子视图,但是,再次没有产生任何结果.

The*_*ger 6

您已textField在细胞的子视图中添加了.

[cell addSubview:passwordField];
Run Code Online (Sandbox Code Playgroud)

当你试图找到它时cell.contentView.
添加您textField的子视图cell.Contentview

[cell.contentView addSubview:passwordField];
Run Code Online (Sandbox Code Playgroud)

并以这种方式找到它 -

for(UIView *view in [cell.contentView subviews])
{
    if([view isKindOfClass:[UITextfield class]])
    {
       UITextField *textField = (UITextField *)view;
       NSLog(@"%@",textField.text);
    }
}
Run Code Online (Sandbox Code Playgroud)