我创建了customBar设置为BadgeButton
(添加了徽章标签的UIButton)的UIBarButtonItem。
我同时为accessibilityID = "properIDHere"
和isAccessibilityElement = true
设置了aBadgeButton
和aBadgeButton.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)
}
}
答案 0 :(得分:0)
运行时标签需要框架或约束。
{{1}}
答案 1 :(得分:0)
在BadgeButton
父/自定义视图上,尝试禁用辅助功能。保持UILabel处于启用状态。
此后,返回您的XCTestCase
,打印出XCUIApplication()。debugDescription来查看您现在是否能够在应用程序的元素层次结构中查看UILabel的可访问性信息。
将此帖子视为可能的重复内容: Xcode UI Tests can't find views that are added programatically