UIBarButtonItem的customView可访问性

时间:2019-01-24 12:34:29

标签: ios uibarbuttonitem xctest xcuitest

我创建了customBar设置为BadgeButton(添加了徽章标签的UIButton)的UIBarButtonItem。

我同时为accessibilityID = "properIDHere"isAccessibilityElement = true设置了aBadgeButtonaBadgeButton.badgeLabel

在运行UITests时,徽章按钮是可见的,并且ID可以访问它,但是badgeLabel则不是。你知道为什么吗?

final class BadgeButton: MyBaseButton {
   let badgeLabel = UILabel()

   override func addSubviews() {
    addSubview(badgeLabel)
   }

   override func setupConstraints() {
    badgeLabel.snp.makeConstraints { make in
        make.width.height.equalTo(badgeSize)
        make.centerX.equalToSuperview().offset(badgeXOffset)
        make.centerY.equalToSuperview().offset(badgeYOffset)
    }
}

2 个答案:

答案 0 :(得分:0)

运行时标签需要框架或约束。

{{1}}

答案 1 :(得分:0)

BadgeButton父/自定义视图上,尝试禁用辅助功能。保持UILabel处于启用状态。

此后,返回您的XCTestCase,打印出XCUIApplication()。debugDescription来查看您现在是否能够在应用程序的元素层次结构中查看UILabel的可访问性信息。

将此帖子视为可能的重复内容: Xcode UI Tests can't find views that are added programatically

enter image description here