// 在視圖控制器Controller中
// iPad OS鍵盤事件
// 重寫系統方法return true
override var canBecomeFirstResponder: Bool {
return true
}
// 在控制器的viewDidAppear方法中讓當前控制器成為焦點
override func viewDidAppear(_ animated: Bool) {
becomeFirstResponder()
}
// =============================
// 鍵盤的按下
override func pressesBegan(_ presses: Set<UIPress>, with event: UIPressesEvent?) {
for press in presses {
guard let key = press.key?.characters else {
continue
}
switch key {
case "w":
DebugLog("w")
case "a":
DebugLog("a")
case "s":
DebugLog("s")
case "d":
DebugLog("d")
default:
DebugLog("do nothing")
}
}
}
// 鍵盤的彈起
override func pressesEnded(_ presses: Set<UIPress>, with event: UIPressesEvent?) {
for press in presses {
guard let key = press.key?.characters else {
continue
}
switch key {
case "w":
DebugLog("w")
case "a":
DebugLog("a")
case "s":
DebugLog("s")
case "d":
DebugLog("d")
default:
DebugLog("do nothing")
}
}
}
// =============================
// 重寫一些系統級快捷鍵的方法,例如此方法為 command + a 全選
override func selectAll(_ sender: Any?) {
DebugLog("點擊了全選")
}
// =============================
// return方法為按鍵組合
override var keyCommands: [UIKeyCommand]? {
// 此方法設置按鈕組合,會一直調用方法
let keyCommand = UIKeyCommand(input: "a", modifierFlags: .control, action: #selector(test))
// 設置此鍵值,按鍵組合只響應一次方法
keyCommand.setValue(NSNumber.init(value: false), forKey: "repeatable")
return [
keyCommand
]
}
// 測試方法
@objc func test () {
DebugLog("111哈哈哈")
}
iPad OS 鍵盤開發
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...