swift3.0 自定義鍵盤

...繞了一大圈,又繞回原生來了,今天,學習一下swift3.0語法下的自定義鍵盤.效果圖以下:git

其實,很簡單,只須要把UITextView(或者UITextField)的inputView屬性設置爲自定義的視圖便可.github

這裏,我舉一個栗子,添加一個自定義的emoji鍵盤.swift

思路:a.先來一個UIViewController,用來承載一個ToolBar(只是爲了放幾個按鈕,切換系統鍵盤和自定義鍵盤)閉包

       b.在該UIViewController上面放一個UITextView便可.更改inputView屬性.佈局

       c.新建一個UIViewController做爲自定義鍵盤的界面承載.其上放一個UICollectionView佈局自定義鍵盤界面學習

1:完成a.b兩步,好比把UITextView.inputView = UIViewController().view 效果會以下:spa

 

 

2.OK,接下來我找了個emoji.plist文件用來存放emoji表情數據,寫了一個model存放表情數據使用,而後在collectionView上顯示便可.3d

其中,重點是如何顯示emoji表情,大體以下:code

        code = dict["code"] as! String?  //emoji.plist中的code
        //1.從字符串中取出十六進制的數
        //建立一個掃描器,掃描器能夠從字符串中提取數據
        let sanner =  Scanner.init(string: code!)
        //2.將十六進制轉爲字符串
        var result:UInt32 = 0
        sanner.scanHexInt32(&result)
        //3.將十六進制轉換爲emoji字符串
        emojiStr = "\(Character.init(UnicodeScalar.init(result)!))"

其實就是使用Scanner掃描轉換emoji表情爲系統可識別的字符串便可,其實,emoji本質就是一些String.blog

3.使用MVC在collectionView上顯示出表情以後,能夠經過閉包回調把選擇的表情回調至承載UITextView的控制器中便可.

基本思路就是這麼簡單.  demo在 https://github.com/pheromone/swift3.0-emojiKeyboard  

相關文章
相關標籤/搜索