Как обнаружить касание в строке состояния iOS 13 - PullRequest
0 голосов
/ 08 января 2020

Я добавил пользовательский вид в AppDelegate keyWindow рамки строки состояния. До того, как iOS 13, touchbegan вызывали, используя который сравнивал местоположение касания с координатами строки состояния.

Я много искал, но ничего не нашел, почему touchbegain перестал вызываться.

Я также попытался скрыть строку состояния в iOS 13 и затем добавить подпредставление строки состояния. фрейм, таким образом, вызывается touchbegan, но когда я скрываю строку состояния, вид становится все выше,

Если у кого-то есть какое-либо решение для этого, пожалуйста, напишите свой ответ.

1 Ответ

0 голосов
/ 17 января 2020

Попробуйте использовать этот код в AppDelegate.swift

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    super.touchesBegan(touches, with: event)

    let statusBarRect = UIApplication.shared.statusBarFrame
    guard let touchPoint = event?.allTouches?.first?.location(in: self.window) else { return }

    if statusBarRect.contains(touchPoint) {
      // tap on statusbar, do something
    }
}
...