【问题标题】:How to disable accessibility focus of an element while its isAccessibilityElement = false如何在其 isAccessibilityElement = false 时禁用元素的可访问性焦点
【发布时间】:2024-01-11 10:23:01
【问题描述】:

我以不同的方式关闭了 UITableViewCell 的可访问性。但是,它在被选中时仍然是可聚焦的。

override public func awakeFromNib() {
    super.awakeFromNib()

    selectionStyle = .none
}

convenience init() {
    self.init()

    isAccessibilityElement = false
}

public override func didMoveToWindow() {
    super.didMoveToWindow()

    isAccessibilityElement = false
    isUserInteractionEnabled = false
    subView.isAccessibilityElement = false
}

public override var canBecomeFocused: Bool {
    return false
}

这是来自视图调试器的屏幕截图:

有什么线索吗? 谢谢

【问题讨论】:

    标签: ios swift uitableview uikit uiaccessibility


    【解决方案1】:

    制作accessibilityElementsHidden = true 解决了它。

    public override func didMoveToWindow() {
        super.didMoveToWindow()
    
        isAccessibilityElement = false
        accessibilityElementsHidden = true
    }
    

    【讨论】: