三、爲各特殊按鍵加上應有的功能
1、還記得我們一開始創建的 didTapButton
Function麼?我們只需要在該段代碼中加入 switch
判斷語句、對按下之按鍵的值進行判斷並執行相應的動作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
func didTapButton(sender: AnyObject?) { let button = sender as! UIButton var proxy = textDocumentProxy as! UITextDocumentProxy if let title = button.titleForState(.Normal) as String? { switch title { case "BP": proxy.deleteBackward() case "RETURN": proxy.insertText("\n") case "SPACE": proxy.insertText(" ") case "CHG": self.advanceToNextInputMode() default: proxy.insertText(title) } } } |
2、現在再運行一下你的程序,耶!一切基礎功能都完成、完美了!每個特殊按鍵也都可以正常運作了!
注意:
大小寫按鍵在目前仍無作用,而博主也仍未發現相關方法,歡迎各位補充!本項目成果預覽&實例下載
參考資料
iOS 8 Custom Keyboard Tutorial: How to Create A Third-Party Keyboard Extension
Creating a Custom Keyboard Using iOS 8 App Extension
How to make a custom keyboard in iOS 8 using Swift
GitHub - drewlustro / KeyboardViewController.swift(感謝該作者解決了「Autolayout」的部分問題)