Как перехватить ключевое событие приложения 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) и, наконец, решил проблему, возможно, была ошибка