TapGesturecognizer не работает в фоновом режиме в iphone X 12.1 - PullRequest
0 голосов
/ 25 марта 2019

У меня есть простой код для добавления tapgestureRecognizer для закрытия ViewController при нажатии на экран, но он не работает только в iPhone X 12.1.

addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(closeSharing(_:))))

Примечание: как ни странно, когда я добавляю к нему жест жестов в новое представление, ограничение которого равно представлению, которое также не работает, но если я ограничиваю новое представление, не равное представлению, это работает. Кто-нибудь знает почему?

1 Ответ

1 голос
/ 25 марта 2019

Возможно, вам придется проверить пару вещей здесь:

Первый шаг убедитесь, что ваш основной вид не закрыт, например, другой вид сверху, который нарушит ваш жест касания,поэтому добавьте жест в ваш вид сверху.

Второй шаг Убедитесь, что у вашего вида, который будет иметь жест, должно быть свойство view.isUserInteractionEnabled = true, иначе жест не будет работать.

Третий шаг Убедитесь, что ваше представление появляется при тестировании, у вас могут быть проблемы с ограничениями, поэтому представление выходит за границы экрана, поэтому попробуйте дать представлению backgroundColor = .red, чтобы увидеть, если оносуществует или нет, или вы можете использовать View Debugger из xCode.

Пример рабочего жеста:

    let viewToDismiss = UIView(frame:UIScreen.main.bounds)
    viewToDismiss.isUserInteractionEnabled = true
    let tap = UITapGestureRecognizer(target: self, action: #selector(closeSharing(_:)))
    tap.numberOfTapsRequired = 1
    viewToDismiss.addGestureRecognizer(tap)
...