在定制的UITableViewCell中访问UITextfield

时间:2015-08-17 05:40:10

标签: ios cocoa-touch ios-ui-automation

我有一个UITextfield,它是UITableViewCell的子视图。我已经定制了UITableViewCell,我将UITextField定义为属性。在自定义类中,我重写了UIAccessibilityContainer协议方法。

但是我无法在测试脚本中设置文本字段。这可能是因为UIATableCell将其子项识别为UIAElements而非具体UIATextFields。我无法执行将元素用作方法setValue的接收器。

enter image description here

似乎特征设置调整了UIATableCell如何识别其“孩子”。但是从Apple文档中,UITextField最好被描述为具有UIAccessibilityTraitAllowsDirectInteraction或UIAccessibilityTraitAdjustable。这些都没有帮助。

据我所知,我已正确设置了可见性层次。

   [self.contentView addSubview:self.aTextField];

   for (UIView *eachView in self.subviews) {
        [eachView  setIsAccessibilityElement:NO];

    }

    [ self.aTextField setIsAccessibilityElement:YES];
    [ self.aTextField setAccessibilityLabel:@"textFieldOnCell"];
    [self.contentView setAccessibilityElementsHidden:NO];

我是否错过了在自定义UITableViewCell中访问UITextField的步骤?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我们注意到了这个问题并worked around it in Illuminator

基本思想是点击父元素(应强制显示键盘),然后使用键盘键入所需的字符串。