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,推荐大家使用起来!

posted on 2018-09-13 10:38  tangjianfeng  阅读(1333)  评论(0编辑  收藏  举报