从UIAccessibilityElement获取UITableViewCell

时间:2014-02-12 22:09:04

标签: uitableview uiaccessibility kif

我正在使用KIF框架,我可以从各种API中获取名为UITableViewCellAccessibilityElement的特定UITableViewCell子类的RDTokenCell

(lldb) po element
[UITableViewCellAccessibilityElement - 0x148c9f30] <RDTokenCell: 0x14bf6db0;
baseClass = UITableViewCell; frame = (0 0; 320 50);
text = 'Fake Group 331'; autoresize = W;
layer = <CALayer: 0x14bf6f80>>) <NSIndexPath: 0x1596e2b0>
{length = 2, path = 0 - 0} - Recipient Fake Group 331

但是,当我致电element.accessibilityContainer时,它会返回包含UITableView而不是该元素所指的UITableViewCell

为什么这样,我如何获取单元格而不是表格视图?

1 个答案:

答案 0 :(得分:0)

在我的用户界面中按下UIView按钮后,UITableViewCell还有一个X覆盖UIView。显然,阻止UITableViewCell迫使accessibilityContainer的{​​{1}}加入了父UITableView

我强制KIF首先关闭顶级UIView,指示它按X按钮,然后所有UITableViewCell都可以访问。

故事的道德,如果UIView覆盖了辅助功能元素,则辅助功能容器可能会默认为所包含元素的超级视图。