简介:LFKit包含了平时常用的category,封装的常用组件,一些工具类。

需要LFKit中所有自定义控件的pod 'LFKit/Component'

需要LFKit中所有category的pod 'LFKit/Category'

需要LFKit中所有工具类的的pod 'LFKit/Util'

需要总库的 pod 'LFKit'

只需要某个控件的也可单独pod,比如pod 'LFKit/Component/LFBadge'或者pod 'LFKit/Category/UIButton+LF'

需要多个子库pod 'LFKit/Component',:subspecs=>['LFPopupMenu','LFBadge']

一、封装组件

1.环形进度条LFAnnulusProgress

可设置渐变色,设置方向

pod 'LFKit/Component/LFAnnulusProgress'

2.未读消息角标红点LFBadge

使用简单,省去加约束或计算位置、大小的麻烦,2行代码集成,支持xib 0代码集成,可设置是否拖拽清除(仿qq)

具体介绍见http://www.cnblogs.com/zhanglinfeng/p/8093872.html

pod 'LFKit/Component/LFBadge'

3.带箭头选项窗LFPopupMenu

类似qq点+号弹出的加好友、扫一扫...弹窗。使用起来也是很简单。还可灵活设置样式。

具体介绍见http://www.cnblogs.com/zhanglinfeng/p/8252798.html

pod 'LFKit/Component/LFPopupMenu'

4.气泡提示框LFBubbleView

具体介绍见http://www.cnblogs.com/zhanglinfeng/p/5632114.html

pod 'LFKit/Component/LFBubbleView'

5.扫二维码生成二维码LFQRCode

使用简单、可灵活自定义UI、可扫相册图片,生成二维码可带logo、带阴影

具体介绍见http://www.cnblogs.com/zhanglinfeng/p/6871670.html

pod 'LFKit/Component/LFQRCode'

6.自定义相机LFCamera

具体介绍见http://www.cnblogs.com/zhanglinfeng/p/6763766.html

pod 'LFKit/Component/LFCamera'

7.旋转展开特效菜单按钮RotationMenu

pod 'LFKit/Component/RotationMenu'

8.轮播控件LFCycleScrollView

特点不仅可以轮播图片,还可以轮播任何视图

pod 'LFKit/Component/LFCycleScrollView'

9.滚轮选择器LFPickerView

将PickerView,DatePicker封装得更加简单易用,并可搭配UITextField使用,不需处理事件自动将内容显示到UITextField

pod 'LFKit/Component/LFPickerView'

10.星级评分控件LFStarsView

二、分类category

1.NSString+LF

功能:

根据文字数获取高度

根据文字数获取宽度度

截取字符串之间的字符串(如截取出#话题#)

汉字获取拼音

汉字获取拼音首字母

字符串提取数字

字符串关键字部分变高亮色

URL编码

URL解码

获取MD5

判断身份证号

判断邮箱

判断手机号

判断是不是纯数字

判断是否为浮点形

判断是否为数字

判断是否含中文

2.UIImage+LF

功能:

毛玻璃效果

生成纯色图片

生成渐变色图片

生成截屏图片

获取图片某位置的颜色

压缩图片到指定内存大小

压缩图片到指定尺寸

获取图片某位置的颜色

3.UIBarButtonItem+LF

生成导航上的图片按钮

生成导航上的文字按钮

生成导航上的图片+文字按钮

4.UIButton+LF

设置图文排列样式及间距,比如图上字下、图左字右、图右字左

按钮倒计时(重新获取验证码)

5.UITextField+LF

限制最大长度

抖动

6.UIView+LF

点击事件

7.UIView+LFXIB

在控制面板中给xib上的view加圆角,边框等属性

8.UIViewController+FullScreenScroll

上下滑动隐藏或显示导航、tabbar

9.NSLayoutConstraint+LFXIB

约束的值,单位px,比如设置xib上线的宽度为1px

10.UITabBarController+HideTabBar

设置是否隐藏TabBar

11.NSDate+LF

- (NSInteger)lf_year;
- (NSInteger)lf_month;
- (NSInteger)lf_day;
- (BOOL)lf_isToday;
- (BOOL)lf_isYesterday;
- (BOOL)lf_isSameYearAsDate:(NSDate *) aDate;
- (NSDate *)lf_dateByAddingDays:(NSInteger)days;
- (NSDate *)lf_dateByAddingMonths:(NSInteger)months;
- (NSDate *)lf_dateByAddingYears:(NSInteger)years;

12.NSTimer+LF

暂停、继续、过段时间再继续

二、工具类Util

1.LFEncryptDecryptUtil

/**NSData AES加密*/
+ (NSData *)AES256EncryptPlainData:(NSData *)plainData Key:(NSString *)key;
/**NSData AES解密*/
+ (NSData *)AES256DecryptCipherData:(NSData*)cipherData Key:(NSString *)key;
/**NSData DES加密*/
+ (NSData *)DESEncryptPlainData:(NSData *)plainData Key:(NSString *)key;
/**NSData DES解密*/
+ (NSData *)DESDecryptCipherData:(NSData*)cipherData Key:(NSString *)key;
/**NSString AES加密*/
+ (NSString *)AES256EncryptPlainText:(NSString *)plainText Key:(NSString *)key;
/**NSString AES解密*/
+ (NSString *)AES256DecryptCipherText:(NSString*)cipherText Key:(NSString *)key;
/**字符串DES加密*/
+ (NSString *)DESEncryptPlainText:(NSString *)plainText key:(NSString *)key;
/**字符串DES解密*/
+ (NSString *)DESDecryptCipherText:(NSString*)cipherText key:(NSString*)key;
/**字符串DES加密用到Base64*/
+ (NSString *)DESEncryptBase64PlainText:(NSString *)plainText key:(NSString *)key;
/**字符串DES解密用到Base64*/
+ (NSString *)DESDecryptBase64CipherText:(NSString*)cipherText key:(NSString*)key;

/**字符串DES加密、解密*/

+(NSString*)encryptWithContent:(NSString*)content type:(uint32_t)type key:(NSString*)aKey

2.LFFileUtil

/**获取Document文件路径*/
+ (NSString*)getDocumentFilePathWithName:(NSString*)name;
/**获取Temp文件路径*/
+ (NSString*)getTempFilePathWithName:(NSString*)name;
/**获取Home文件路径*/
+ (NSString*)getHomeFilePathWithName:(NSString*)name;
/**获取Cache文件路径*/
+ (NSString*)getCacheFilePathWithName:(NSString*)name;
/**创建目录(已判断是否存在,无脑用就行)*/
+ (BOOL)creatDirectory:(NSString *)path;
/**删除目录或文件*/
+ (BOOL)deleteItemAtPath:(NSString *)path;
/**移动文件*/
+ (BOOL)moveItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath;

3.LFJsonUtil

/**json字符串转dict或array*/
+ (id)objectFromJSONString:(NSString *)string;
/**json的NSData转dict或array*/
+ (id)objectFromJSONData:(NSData *)data;
/**json的NSData转dict或array,带编码参数*/
+ (id)objectFromJSONData:(NSData *)data UsingEncoding:(NSStringEncoding)encoding;
/**dict或arrayz转json */
+ (NSString *)jsonFromObject:(id)object;

4.LFTimeUtil

/**秒数转为时长字符串,format 格式如@"HH:mm:ss" @"mm分ss秒"*/

+ (NSString *)getTimeStringFromSecond:(NSInteger)second format:(NSString *)format;
/**时间戳(毫秒)转时间字符串*/
+ (NSString *)getDateTimeStringFromTimestamp:(NSString *)timestamp formatter:(NSString *)formatter;
/**Date转时间字符串*/
+ (NSString *)getDateTimeStringFromDate:(NSDate *)date formatter:(NSString *)formatter;
/**时间字符串转时间戳(毫秒)*/
+ (NSString *)getTimestampFromDateTimeString:(NSString *)string formatter:(NSString *)formatter;
/**时间字符串转NSDate*/
+ (NSDate *)getDateFromDateTimeString:(NSString *)string formatter:(NSString *)formatter;
/**NSDate 转 时间戳(毫秒)*/
+ (NSString *)getTimestampStringFromDate:(NSDate *)date;
/**时间戳(毫秒)转n小时、分钟、秒前 或者yyyy-MM-dd HH:mm:ss*/
+ (NSString *)getBeforeTimeFromDate:(NSString*)strDate;
/**  时间戳根据格式返回数据 HH:mm、昨天 HH:mm、MM月dd日 HH:mm、yyyy年MM月dd日)*/
- (NSString *)getVariableFormatDateStringFromTimestamp:(NSString *)timestamp;

iOS 常用工具库LFKit功能介绍的更多相关文章

  1. JHChart 1.1.0 iOS图表工具库中文ReadMe

    JHChart(最新版本1.1.0) 好吧,的确当前的github上已经存有不少的iOS图表工具库,然而,当公司的项目需要图表时,几乎没有哪个第三方能够完全满足我的项目需求.无奈之下,本人不得不花费一 ...

  2. IOS常用第三方库《转》

    UI 动画 网络相关 Model 其他 数据库 缓存处理 PDF 图像浏览及处理 摄像照相视频音频处理 响应式框架 消息相关 版本新API的Demo 代码安全与密码 测试及调试 AppleWatch ...

  3. iOS常用第三方库大全,史上最全第三方库收集

    下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITableVie ...

  4. IOS常用开源库

    转自:http://www.csdn.net/article/2013-06-18/2815806-GitHub-iOS-open-source-projects-two/1 1. AFNetwork ...

  5. JHChart iOS图表工具库1.0.3新版本详解

    前言. 从2016年4月14日开始,本人着手开发了JHChart图表工具库.经过断断续续的开发,截止到现在,已经实现了折线图.柱状图.饼状图.环形图和表格样式的图表功能.为了方便使用,我已经将一个简单 ...

  6. 原创开源项目HierarchyViewer for iOS 2.1 Beta新功能介绍

    回顾 HierarchyViewer for iOS是我们发布的一个开源项目,采用GPL v3.0协议. HierarchyViewer for iOS可以帮助iOS应用的开发和测试人员,在没有源代码 ...

  7. javaScript常用工具库

    对应于百度前端技术学院2015年春季的课程2相关内容 https://github.com/baidu-ife/ife/tree/master/2015_spring/task/task0002 ht ...

  8. redis常用指令总结以及功能介绍

    第一部分 redis的常用指令 一.针对key的操作 1.1 del key [key .. ]                 , 删除指定的一个或者多个key;1.2 dump key       ...

  9. C++常用工具库(C语言文件读写,日志库,格式化字符串, 获取可执行文件所在绝对路径等)

    前言 自己常用的工具库, C++ 和C语言实现 使用cmake维护的项目 持续更新..... 提供使用范例, 详见example文件夹 windows使用的VS通过了的编译. Linux(Ubuntu ...

随机推荐

  1. Android 6.0 Marshmallow root 方法

    android 6.0 已经推出 release 版本了, nexus 5,6,7,9 都放了官方镜像, 本篇文章使用 nexus 6 安装最新的 android 6.0 并进行root step 1 ...

  2. python基础===修改属性的值

    可以以三种不同的方式修改属性的值:直接通过实例进行修改:通过方法进行设置:通过方法进行递增(增加特定的值).下面依次介绍这些方法. class Car(): def __init__(self, ma ...

  3. (十七)vmware无法将网络更改为桥接状态

    故障现象,导致虚拟机无法正常上网 设备管理器中的驱动设备正常加载,但是注意这两个虚拟网卡是有问题的 将这两个虚拟网卡删除 只剩物理网卡了,重新启动电脑 将虚拟机里的网络设置删除 清空网卡后点击恢复默认 ...

  4. 2017多校第8场 HDU 6138 Fleet of the Eternal Throne AC自动机或者KMP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6138 题意:给n个串,每次询问x号串和y号串的最长公共子串的长度,这个子串必须是n个串中某个串的前缀 ...

  5. ie6、ie7下overflow失效

    如果父对象有overflow:hidden属性,子对象中的position属性是relative或者absolute, 那么在ie6和ie7下父对象的overflow会失效,解决办法是给父对象加rel ...

  6. Jmeter接口测试示例

    如果是Web,需要使用badboy进行录制,今天讲的是接口,因此可以不用录制. (1)新建测试计划 (2)添加http请求默认值 (3)添加http信息头管理器 (4)添加token的正则表达式:&q ...

  7. windows系统安装mysql压缩zip版

    1.下载 打开官网:https://www.mysql.com 进入DOWNLOADS--->Community--->MySQL Community Server,选择系统对应的版本点击 ...

  8. linux命令行任务管理

    今天看到了linux命令行的任务管理命令感觉很实用: 1.ctrl+z  将当前前台执行的任务放到后台并暂停 2.fg恢复上次放入后台的任务 这两个命令组合起来很实用,比如在linux命令行中写pyt ...

  9. python和语法糖

       语法糖(syntactic sugar)是指编程语言中可以更容易的表达一个操作的语法,它可以使程序员更加容易去使用这门语言:操作可以变得更加清晰.方便,或者更加符合程序员的编程习惯.(百度百科的 ...

  10. Go语言用mock server模拟调用(httptest)

    mock是个好东东, 在大项目或大公司,很实用, 因为很多环境不是随时在开发环境可得的. package main import ( "testing" "net/htt ...