iOS Swift WisdomKeyboardKing 鍵盤智能管家SDK


iOS Swift WisdomKeyboardKing 鍵盤智能管家SDK

【1】前言:

   今天給大家推薦個好用的開源框架:WisdomKeyboardKing,方面iOS日常開發,優點和功能請看下面介紹。

【2】簡介:

    WisdomKeyboardKing SDK是一款鍵盤智能管家

   用於處理鍵盤與UITextField,UITextView輸入控件響應的位置判定,實現智能避讓,   支持上下移動動畫效果。

   WisdomKeyboardKing SDK還實現了處理文字輸入和輸出格式轉換功能。

【3】SDK集成:

   通過pod:pod 'WisdomKeyboardKing'

   也可以github下載:https://github.com/tangjianfengVS/WisdomKeyboardKing

 

【4】WisdomKeyboardKing 一期Framework功能SDK分析

  一: Swift4.2編寫的SDK,支持iOS8.0及其以上系統版本, 並且完全兼容OC項目的調用。

 

  二: 針對系統Keyboard鍵盤彈出,無需創建對象,無需調用SDK任何方法,會自動避讓UITextField,UITextView類控件。

         注:(同一個頁面大量的UITextField與UITextView,可以准確避讓)

 

  三: 切換輸入或者更換輸入對象,鍵盤可以准確避讓UITextField,UITextView類控件

 

  四:UITextField,UITextView的避讓與keyboard的間距,支持可設置

       1. 界面效果:

        

       2. 全局默認值:

       

       3. 全局設置間距:

        代碼設置: 

        

        30.0效果圖:

        

 

   五:支持 UITextField,UITextView的wisdomTask任務

    【優點】:

     替代了UITextField和UITextView代理方法,不實現可以傳nil,轉換成閉包使用更加集中和方便。

    【SDK接口】:

     

    【案例應用】:   

      

 

  六:處理號碼數字類型顯示格式

  【功能】:

    

 【SDK屬性】:

   

 【案例應用】:

    

  

 七:對比當前過期時間格式的處理

 【應用場景】:

   優惠券或者活動 等等日期過期提示顯示,需要處理的時間會大於當前時間,然后提示什么時候過期。

 

 【類型說明】:

   在處理時間格式轉換時用到了2類枚舉,【時間入參】類型 和 【需要支持的過期時間格式顯示】類型,下面分析類型。

      1:【時間數據入參類型】:

       

       2:【支持的過期時間格式顯示參數類型】:

        

 

 【SDK接口】:

    SWIFT:支持兩個返回值:是否過期,和過期內容

     

    OC:只支持一個返回值:過期內容,如果未過期,會返回空的String

     

 

 【案例應用】:

    1. 默認情況:

    

     效果圖:

     

    2. 自定義情況:

    

   自定義效果圖:

     

    3.  附加案例:

    下圖應用結果顯示:當 displayTypeList = @{@(expiredToday_hour), @(expiredTomorrow_hour) ,@(expiredAfterTomorrow_hour)}

     

 

 八:歷史時間的處理(需要顯示的時間不會大於當前時間)

    【應用場景】:

     對歷史時間格式的處理,在聊天消息中最為常用

 

   【時間數據入參類型】:

     在處理時間格式轉換時用到了【時間數據入參類型】枚舉。

     

  【SDK接口】:

    

 【使用案例】:

   

   效果圖:

    

   附加案例:

      /**
       * timesText: 歷史時間原始數據
       * serverTimesText: 當前時間對比 (不傳默認與本地時間比對)
       * type: 輸入處理的數據類型 (WisdomInputTimeConvertType)
       */
      let timeStr = WisdomTextOutput.historyTimeOutput(timesText: "1535557797", serverTimesText: nil, type: .timestamp)

   結果顯示支持類型:        2017年08月12日 21:30  (非同年)

                                    09月12日 23:30          (同年)

                                    昨天 20:30                 (昨天)

                                    上午 10:30,下午 13:30  (當天)

 

  九:設置視圖避讓鍵盤做移動的父類視圖

  【問題發現】:

   在集成別人的避讓鍵盤第三方SDK中,本人普遍發現個問題,當從控制器視圖上UITextFlied切換到UIScreen視圖上的UITextFlied時,存在很多問題,

    比如:控制器視圖上的UITextFlied未復位,UIScreen的視圖上的UITextFlied避讓偏差很大。對於Pod集成到SDK來說,需要改內部實現

 

  【分析WisdomKeyboardKing

    針對上面提到的問題,WisdomKeyboardKing SDK中用Runtime為 UITextFlied 和 UITextView 添加了個屬性,專門用來指定避讓鍵盤做移動的父類視圖。

    

  【屬性枚舉】:

    

    

   【案例】:

    

 

    結束: 

    

     *WisdomKeyboardKing 功能點介紹完了,如果有什么問題和指點可以QQ聯系:497609288,歡迎來一起討論技術問題

      這是一個高效的SDK,推薦大家使用起來!


免責聲明!

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



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