Getting UITableViewCell from UIAccessibilityElement



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

(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

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

还有一个

额外的UIView覆盖了UITableViewCell,直到按下 UI 中的X按钮关闭。显然,封锁UIView迫使UITableViewCellaccessibilityContainer到父UITableView

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

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

最新更新