0

我有一个自定义 UITableViewCell 和一个自定义 UITextField,文本字段位于表格视图单元格内。

我需要对字段中输入的文本进行一些验证,并根据输入的文本是否正常在单元格中显示一个小勾号或十字形图像。

我的表格视图单元格类导入文本字段的标题,并声明我可以使用的 .textField 属性。

我的文本字段类有一个@class我的表格视图单元格的类扩展 (),并声明了一个 .cell 属性,我希望能够使用它来访问单元格的图像,并将其显示/更新为勾号或十字。

文本字段的委托是我的视图控制器,我正在使用textFieldDidEndEditing以下方式尝试设置该图像 ( validationConfirmation)。但是,它不起作用,什么都没有发生,没有错误等。

知道我做错了什么吗?这是一个谜题。

- (void)textFieldDidEndEditing:(UITextField *)textField 
{
    SignUpTextField *tf = (SignUpTextField *)textField;

    if (textField.text.length < 6) {
        tf.cell.validationConfirmation.hidden = NO;
        tf.cell.validationConfirmation.image = [UIImage imageNamed:@"cross.png"];
    }
}

所以在这里,我正在获取文本字段子类(SignUpTextField或者我正在尝试),并尝试设置其单元格属性的图像属性。这是错的吗?凌乱?坏习惯?

4

1 回答 1

1

您不需要(也不应该)在 textField 类中有单元格引用。我相信您的 textField 已添加为单元格的子视图。因此,在该textFieldDidEndEditing:方法中,您可以使用textField.superview. 或者,您可以为与它出现的 tableview 行对应的 textField 分配一个标签,并使用cellForRowAtIndexPath:tableview 的方法访问单元格,您可以在其中使用标签创建索引路径。

于 2013-08-09T13:44:59.060 回答