Search code examples
iosswiftaccessibilityvoiceover

how to ignore tap gesture action in voice over


CollectionView Cell
ㄴ A
ㄴㄴ B

this is example of my collectionView cell View stack

the problem is I put gestures and actions in B view.

If you turn on the accessibility, i think call collectionView's delegate = didSelectItemAt.. but my collectionView call tap Gesture action

I have never set up a gesture related to accessibility..

Is there a tap gesture relationship with voice over?

This phenomenon is only reproduced in certain views.

why this problem cause..?

private lazy var AContainer = UIView().then {
    $0.addGestureRecognizer(UITapGestureRecognizer.init(target: self, action: #selector(actionGesture)))
}

AContainer.flex.define { flex in
        flex.addItem(textLabel)
        flex.addItem(testImageView)
            .size(10)
}

contentView.flex.addItem().define { flex in
    flex.addItem(AContainer)
}

@objc func actionGesture() {
    print("testestest")
}

Solution

  • i catch the issue .

    accessibilityActivationPosition's default position is mid,,

    gesture action is in B view's center,,

    so i solved this probelm by this code

    B.accessibilityActivationPosition = CGPoint(x: 0, y: 0)