Как перехватить ключевое событие приложения iOS?

Я удалил @UIApplicationMain в AppDelegate.swiftи написал main.swift как показано ниже, но программа по-прежнему не может запустить keyPressed функция. Но выполняет print("send event2") каждый ключ

Как стрелять keyPressed функционировать? Что-то не так с этой программой?

import UIKit
import Foundation

class TApplication: UIApplication {
    override func sendEvent(_ event: UIEvent!) {
       super.sendEvent(event)
    }

    override var keyCommands: [UIKeyCommand]? {
      print("send event2") // this is an example
        return [
            UIKeyCommand(input: "1", modifierFlags: [], action: Selector(("keyPressed:")), discoverabilityTitle: “1”),
            UIKeyCommand(input: "2", modifierFlags: .shift, action: Selector("keyPressed:"), discoverabilityTitle: “2”)]
        ]
    }

    func keyPressed(sender: UIKeyCommand) {
        print("keypressed event !!!!!!!!") // this is an example
    }
}

1 ответ

Решение

Я изменил "селектор", чтобы быть #selector (swift 3) и, наконец, решил проблему, возможно, была ошибка

Другие вопросы по тегам