iOS 常用工具库LFKit功能介绍
简介: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功能介绍的更多相关文章
- JHChart 1.1.0 iOS图表工具库中文ReadMe
JHChart(最新版本1.1.0) 好吧,的确当前的github上已经存有不少的iOS图表工具库,然而,当公司的项目需要图表时,几乎没有哪个第三方能够完全满足我的项目需求.无奈之下,本人不得不花费一 ...
- IOS常用第三方库《转》
UI 动画 网络相关 Model 其他 数据库 缓存处理 PDF 图像浏览及处理 摄像照相视频音频处理 响应式框架 消息相关 版本新API的Demo 代码安全与密码 测试及调试 AppleWatch ...
- iOS常用第三方库大全,史上最全第三方库收集
下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITableVie ...
- IOS常用开源库
转自:http://www.csdn.net/article/2013-06-18/2815806-GitHub-iOS-open-source-projects-two/1 1. AFNetwork ...
- JHChart iOS图表工具库1.0.3新版本详解
前言. 从2016年4月14日开始,本人着手开发了JHChart图表工具库.经过断断续续的开发,截止到现在,已经实现了折线图.柱状图.饼状图.环形图和表格样式的图表功能.为了方便使用,我已经将一个简单 ...
- 原创开源项目HierarchyViewer for iOS 2.1 Beta新功能介绍
回顾 HierarchyViewer for iOS是我们发布的一个开源项目,采用GPL v3.0协议. HierarchyViewer for iOS可以帮助iOS应用的开发和测试人员,在没有源代码 ...
- javaScript常用工具库
对应于百度前端技术学院2015年春季的课程2相关内容 https://github.com/baidu-ife/ife/tree/master/2015_spring/task/task0002 ht ...
- redis常用指令总结以及功能介绍
第一部分 redis的常用指令 一.针对key的操作 1.1 del key [key .. ] , 删除指定的一个或者多个key;1.2 dump key ...
- C++常用工具库(C语言文件读写,日志库,格式化字符串, 获取可执行文件所在绝对路径等)
前言 自己常用的工具库, C++ 和C语言实现 使用cmake维护的项目 持续更新..... 提供使用范例, 详见example文件夹 windows使用的VS通过了的编译. Linux(Ubuntu ...
随机推荐
- AlertDialog.Builder 显示为白色 蓝色字
AlertDialog.Builder dialog = new AlertDialog.Builder( getActivity(),AlertDialog.THEME_HOLO_LIGHT);
- monkey测试===easyMonkey测试【推荐】
easymonkey测试: easymonkey是基于monkey测试的一个二次开发工具.(关于monkey测试参见之前blog) easymonkey的特点就是方便,解决了很多参数命令上设置的麻烦, ...
- 再议perl写多线程端口扫描器
再议perl写多线程端口扫描器 http://blog.csdn.net/sx1989827/article/details/4642179 perl写端口多线程扫描器 http://blog.csd ...
- 在Github里集成Readthedocs服务
Readthedocs支持Markdown格式和sphinx格式的文档排版,是部署项目文档的绝佳平台.利用Github的托管服务,我们可以方便地将文档托管于Github,并利用Readthedocs查 ...
- HighGUI图形图像界面初步——鼠标操作
OpenCV中的鼠标操作和滑动条的消息映射方式很类似,都是通过一个中介函数配合一个回调函数来实现的,创建和指定滑动条回调函数为createTrackbar, 而指定鼠标操作消息回调函数的函数为setM ...
- APP运营
产品相关术语 APP:application的简写,即应用. 开发商:也叫CP,即ContentProvider内容提供商. 发行商(运营商):代理CP开发出来的产品. 联运:CP和渠道联合运营产品. ...
- php上传文件常见错误
今天在文件上传过程中遇到的文件上传不过去,和网页报错,最后经查看总结有以下几个方面 上传文件错误码 error=0 正常上传 error=1 上传的大小超过了input[type=file]的文件上传 ...
- SEO优化:WordPress站点地图(html和xml)插件Baidu Sitemap Generator
前阵子分享了<如何实现纯代码制作网站地图的html和xml版本>,不过不是每个人都喜欢用纯代码来折腾博客的.今天,boke112就给大家分享一款国人柳城制作的包含html和xml两个版本的 ...
- [BZOJ4566][Haoi2016]找相同字符 后缀自动机+dp
4566: [Haoi2016]找相同字符 Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 1212 Solved: 694[Submit][Stat ...
- ngCordova安装配置使用教程
ngCordova是什么 ngCordova是在Cordova Api基础上封装的一系列开源的AngularJs服务和扩展,让开发者可以方便的在HybridApp开发中调用设备能力,即可以在Angul ...