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

iOS Swift WisdomKeyboardKing 键盘智能管家SDK的更多相关文章

  1. iOS Swift WisdomScanKit图片浏览器功能SDK

    iOS Swift WisdomScanKit图片浏览器功能SDK使用 一:简介      WisdomScanKit 由 Swift4.2版编写,完全兼容OC项目调用. WisdomScanKit的 ...

  2. iOS Swift WisdomScanKit二维码扫码SDK,自定义全屏拍照SDK,系统相册图片浏览,编辑SDK

    iOS Swift WisdomScanKit 是一款强大的集二维码扫码,自定义全屏拍照,系统相册图片编辑多选和系统相册图片浏览功能于一身的 Framework SDK [1]前言:    今天给大家 ...

  3. Building gRPC Client iOS Swift Note Taking App

    gRPC is an universal remote procedure call framework developed by Google that has been gaining inter ...

  4. iOS swift项目IM实现,从长连接到数据流解析分析之Socket

    iOS  swift项目IM实现,从长连接到底层数据解析分析之Socket 一:项目简介:  去年开始接手了一个国企移动项目,项目的需求是实现IM即时通讯功能. * 一期版本功能包括了:       ...

  5. Xamarin的不归路-ios模拟器没有键盘

    ios模拟器没有键盘解决方案: 勾选上就有了. 2016年9月1日

  6. 李洪强iOS开发之-环信02_iOS SDK 介绍及导入

    李洪强iOS开发之-环信02_iOS SDK 介绍及导入 iOS SDK 介绍及导入 iOS SDK 介绍 环信 SDK 为用户开发 IM 相关的应用提供的一套完善的开发框架.包括以下几个部分: SD ...

  7. 李洪强iOS开发之-环信01_iOS SDK 前的准备工作

    李洪强iOS开发之-环信01_iOS SDK 前的准备工作 1.1_注册环信开发者账号并创建后台应用 详细步骤:  注册并创建应用 注册环信开发者账号 第 1 步:在环信官网上点击“即时通讯云”,并点 ...

  8. ios如何判断键盘是否已经显示

    ios如何判断键盘是否已经显示   在群里看到有人问:ios如何判断键盘已经显示在界面上. 其实这个解决很简单: 写一个单例来管理键盘的状态. 这个单例在初始化方法init种监听2个事件,分别是 UI ...

  9. iOS swift的xcworkspace多项目管理(架构思想)

    iOS  swift的xcworkspace多项目管理(架构思想) 技术说明: 今天在这里分享 swift下的 xcworkspace多项目管理(架构思想),能为我们在开发中带来哪些便捷?能为我们对整 ...

随机推荐

  1. [转]用python爬虫抓站的一些技巧总结 zz

    来源网站:http://www.pythonclub.org/python-network-application/observer-spider 学用python也有3个多月了,用得最多的还是各类爬 ...

  2. 单独配置 Ehcache

    package com.shy.ehcache; import net.sf.ehcache.Cache; import net.sf.ehcache.CacheManager; import net ...

  3. C#实现ADH815通讯

    最近在做自提柜项目,考虑到ADH815电路板在自助售卖行业的通用性.把通讯代码贴出来了. 下载地址

  4. leetcode 刷题

    176:第二高的薪水 offset ) as secondhighestsalary; ---去掉第一个,再从第一个开始 177:第N高的薪水 ------相关子查询:子查询中引用了外层查询所引用表的 ...

  5. 奇怪的等待事件“enq: ss - contention”

    数据库有时会遇到大量的进程发生'enq: ss - contention'等待,持续5到10分钟,然后自动消失.从字面上看,'SS'是Sort Segment: select * from v$loc ...

  6. Win7系统安装 Photoshop CC 中文完全破解版

    Win7系统安装 Photoshop CC 中文完全破解版 谨以此教程献给某位做UI设计的朋友^_^! 01. 确定自己的系统是32位的还是64位的,本人电脑是64位 02. 将 Photoshop_ ...

  7. Python学习---xml文件的解析[beautifulsoup4模块学习]

    1.1. 安装beautifulsoup4 pip install beautifulsoup4 [更多参考]https://blog.csdn.net/sunhuaqiang1/article/de ...

  8. html端输入数据,利用qrcode.js生成打印二维码

    在前端页面中导入qrcode.js(下载)和jquery.js(下载) index.html <script> function print() { var textbox1 = $('i ...

  9. 导出类成员里含有stl对象

    How to export an instantiation of a Standard Template Library (STL) class and a class that contains ...

  10. bootstrap-multiselect样式修改

    问题 bootstrap-multiselect是一款相当不错的bootstrap风格下拉框组件,但是它的某些样式我不是很喜欢,按钮文本和下拉符号 “” 都是居中的,且下拉列表的宽度也没有跟随变动. ...