swift3.0 自定義鍵盤


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

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

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

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

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

       c.新建一個UIViewController作為自定義鍵盤的界面承載.其上放一個UICollectionView布局自定義鍵盤界面

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

 

 

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

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

        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.

3.使用MVC在collectionView上顯示出表情之后,可以通過閉包回調把選擇的表情回調至承載UITextView的控制器中即可.

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM