我有视野。 在双击动作中,我隐藏了它。 但在发布到其他视图之前,它会再次宣布。 下面是代码片段。
func setUpAccessibility() {
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(blockLabelViewSwipeGesture))
blockContainerView.accessibilityLabel = "Some text label"
blockContainerView.accessibilityHint = "Double tap to dismiss"
blockContainerView.isAccessibilityElement = true
blockContainerView.addGestureRecognizer(tapGesture)
}
@objc private func blockLabelViewSwipeGesture(_ gestureRecognizer: UISwipeGestureRecognizer {
UIAccessibility.post(notification: .layoutChanged, argument: self.headerView)
//Dismiss view
///DO some work
}
来解决这个问题。 在action方法中,我们需要将accessibilityLabel设置为空,如果accessibilityHint存在,则将其设置为空sting。 下面是代码片段。
@objc private func blockLabelViewSwipeGesture(_ gestureRecognizer: UISwipeGestureRecognizer {
blockContainerView.isAccessibilityElement = false
blockContainerView.accessibilityLabel = ""
blockContainerView.accessibilityHint = ""
UIAccessibility.post(notification: .layoutChanged, argument: self.headerView)
//Dismiss view
///DO some work
}