LFKit 1.3.1

LFKit 1.3.1

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最新发布2022年12月

zhanglinfeng 维护。



LFKit 1.3.1

  • 作者:
  • 张林峰

iOS 常用工具库LFKit功能介绍

简介:LFKit 包含了日常常用的分类,封装的常用组件,和一些工具类。

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

需要 LFKit 中所有分类的 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 *)AES256EncryptPlainData:(NSData *)plainData Key:(NSString *)key;//NSData AES加密
  • (NSData )AES256DecryptCipherData:(NSData)cipherData Key:(NSString *)key;//NSData AES解密
  • (NSData *)DESEncryptPlainData:(NSData *)plainData Key:(NSString *)key;//NSData DES加密
  • (NSData )DESDecryptCipherData:(NSData)cipherData Key:(NSString *)key;//NSData DES解密
  • (NSString *)AES256EncryptPlainText:(NSString *)plainText Key:(NSString *)key;//NSString AES加密
  • (NSString )AES256DecryptCipherText:(NSString)cipherText Key:(NSString *)key;//NSString AES解密
  • (NSString *)DESEncryptPlainText:(NSString *)plainText key:(NSString *)key;//字符串DES加密
  • (NSString )DESDecryptCipherText:(NSString)cipherText key:(NSString*)key;//字符串DES解密
  • (NSString *)DESEncryptBase64PlainText:(NSString *)plainText key:(NSString *)key;//字符串DES加密用到Base64
  • (NSString )DESDecryptBase64CipherText:(NSString)cipherText key:(NSString*)key;//字符串DES解密用到Base64 +(NSString*)encryptWithContent:(NSString*)content type:(uint32_t)type key:(NSString*)aKey//字符串DES加密、解密

2.LFFileUtil

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

3.LFJsonUtil

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

4.LFTimeUtil

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