簡單介紹這個庫的大致內容:Category各種工具集合,Button圖文混排、點擊事件封裝、擴大點擊域,手勢封裝、圓角漸變、Xib屬性、TextView輸入框擴展、限制字數,圖片加工處理、濾鏡渲染、泛洪算法,富文本,投影,倒影,內發光,外發光,內陰影,外陰影,數組和字典防崩處理,數組算法處理等等等
本庫主要包含三大塊:UIKit類、Foundation類、Exception 異常處理
備註:很多采用了方法交換,但是很多都不是直接在load當中去交換處理,而是採用委託的方式,這樣就可以在需要用的交換的工程當中在程序最開始(AppDelegate)調用一次即可,靈活方便
GitHub地址:https://github.com/yangKJ/KJExtensionHandler
----> 日積月累 <----
UIKit類
1、簡單函數和宏
#import "_KJMacros.h" /// 宏
#import "_KJINLINE.h" /// 簡單的常用函數
#import "_KJGCD.h" /// GCD封裝
2、按鈕UIButton
- 按鈕時間間隔限制,圖文混排,倒計時,點擊粒子效果等
#import "UIButton+KJBlock.h" /// 點擊事件ButtonBlock
#import "UIButton+KJEnlarge.h" /// 改變UIButton的響應區域
#import "UIButton+KJButtonContentLayout.h" /// 圖文混排
#import "UIButton+KJCreate.h" /// 快速創建按鈕
#import "UIButton+KJIndicator.h" /// 指示器
#import "UIButton+KJEmitter.h" /// 按鈕粒子效果
#import "UIButton+KJCountDown.h" /// 倒計時
3、文本UILabel
快捷顯示文本位置、富文本處理
#import "UILabel+KJCreate.h" /// 快速創建文本
#import "UILabel+KJAttributedString.h" // 富文本
#import "UILabel+KJExtension.h"// 文本尺寸
4、視圖UIView
- Xib右側屬性直接顯示快捷處理
#import "UIView+KJXib.h" /// Xib屬性等
#import "UIView+KJFrame.h" /// Frame - 輕量級佈局
#import "UIView+KJGestureBlock.h" /// 手勢Block
#import "UIView+KJRectCorner.h" /// 進階版圓角和邊框擴展
#import "UIView+Toast.h" /// Toast快捷顯示
#import "UIView+KJGradient.h" /// 漸變處理 和 指定圖形(直線、虛線、五角星、六邊形、八邊形)
5、導航UINavigation
#import "UINavigationBar+KJExtension.h" // 設置NavigationBar背景
#import "UINavigationItem+KJExtension.h" // Item鏈式生成
6、導航按鈕UIBarButtonItem
#import "UIBarButtonItem+KJExtension.h" // 設置BarButtonItem
7、文本框UITextView
- 獲取文本內部超鏈接,文本限制字符輸入,個性化定製PlaceHolder,撤銷輸入
//#import "UITextView+KJPlaceHolder.h" // 輸入框擴展
//#import "UITextView+KJLimitCounter.h" // 限制字數
//#import "UITextView+KJHyperlink.h" // 超鏈接處理
//#import "UITextView+KJBackout.h" // 撤銷輸入
8、顏色UIColor
- 獲取色相飽和度亮度,RGBA相關,漸變顏色,指定點顏色等
#import "UIColor+KJExtension.h"/// 顏色相關擴展
#import "UIColor+KJExtension2.h"
9、圖片UIImage
- 截圖和裁剪、圖片壓縮、蒙版處理,圖片拼接、圖片尺寸處理等
#import "UIImage+KJScale.h" /// 圖片尺寸處理相關
#import "UIImage+KJCompress.h" /// 圖片壓縮處理
#import "UIImage+KJMask.h" /// 蒙版處理
#import "UIImage+KJJoint.h" /// 圖片拼接處理
#import "UIImage+KJCapture.h" /// 截圖和裁剪處理
#import "UIImage+KJCoreImage.h" /// CoreImage 框架圖片效果處理
#import "UIImage+KJAccelerate.h" /// Accelerate 框架的圖片處理
#import "UIImage+KJPhotoshop.h"
//#import "UIImage+KJFloodFill.h" /// 圖片泛洪算法
//#import "UIImage+KJFilter.h" /// 處理圖片濾鏡,渲染相關
//#import "UIImage+KJURLSize.h" /// 獲取網絡圖片尺寸
//#import "UIImage+KJGIF.h" /// 動態圖相關gif
10、控制器UIViewController
#import "UIViewController+KJFullScreen.h" /// 充滿全屏處理
#import "UISegmentedControl+KJCustom.h" /// 修改背景色和文字顏色
11、UICollectionView
- 在CollectionView上面移動Item並且不影響正常CollectionView的左右滑動處理
#import "UICollectionView+KJTouch.h" /// 獲取Touch事件
12、滑桿UISlider
- 漸變色滑桿,滑桿點擊值修改
#import "KJColorSlider.h" /// 漸變色滑塊
#import "UISlider+KJTapValue.h"
13、CALayer
- 簡單的內陰影、外陰影、投影相關、倒影
//#import "KJShadowLayer.h" // 內陰影、外陰影、投影相關
//#import "CALayer+KJReflection.h" // 倒影處理
14、UIResponder
- 簡單快捷的使用屏幕適配,快速按照設計圖尺寸佈局,在最初的地方調用一次傳入設計圖紙機型
#import "UIResponder+KJAdapt.h" /// 簡單的比例適配
#import "UIResponder+KJChain.h" /// 響應鏈
15、UITabBar
- 小紅點相關
#import "UITabBar+KJBadge.h"
16、貝塞爾UIBezierPath
- 獲取路徑上的關鍵點
#import "UIBezierPath+KJPoints.h"
Foundation類
1、NSObject
#import "NSObject+KJKVO.h" /// 鍵值監聽封裝
#import "NSObject+KJMath.h" /// 數學方程式
#import "NSObject+KJSignal.h" /// 信號方式解耦工具
#import "NSObject+KJGeometry.h" /// 幾何方程式
2、NSString
#import "NSString+KJChinese.h" /// 漢字相關處理
#import "NSString+KJPredicate.h"/// 謂詞工具
3、數組NSArray
#import "NSArray+KJPredicate.h" /// 謂詞工具
#import "NSArray+ElementDeal.h" /// 對數組元素的處理 包括排序、查找、去重等等
4、字典NSDictionary
- Debug模式下控制檯打印處理
#import "NSDictionary+KJExtension.h"
封裝的一套異常處理Exception
簡單測試
[KJExceptionTool kj_openAllExchangeMethod];
[KJExceptionTool kj_crashBlock:^BOOL(NSDictionary * _Nonnull dict) {
NSLog(@"回調處理:\n%@", dict[@"crashTitle"]);
return YES;
}];
NSMutableArray *temp = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",nil];
NSString *str = nil;
[temp addObject:str];
[temp setObject:@"1" atIndexedSubscript:4];
[temp insertObject:str atIndex:4];
NSDictionary *dicX = @{str:@"123",
@"key":str,
@"key":@"1"
};
NSLog(@"%@",dicX);
NSMutableDictionary *dict = [[NSMutableDictionary alloc]initWithObjects:@[@"1",@"1"] forKeys:@[@"2",@"2"]];
[dict setObject:str forKey:@"3"];
[dict removeObjectForKey:str];
備註:目前包含基本的數組、字典、字符串的異常處理,後面有需要再補充
結尾
/*
*********************************************************************************
*
*⭐️⭐️⭐️ ----- 本人其他庫 ----- ⭐️⭐️⭐️
*
粒子效果、自定義控件、自定義選中控件
pod 'KJEmitterView'
pod 'KJEmitterView/Control' # 自定義控件
擴展庫 - Button圖文混排、點擊事件封裝、擴大點擊域、點贊粒子效果,
手勢封裝、圓角漸變、倒影、投影、內陰影、內外發光、漸變色滑塊等,
圖片壓縮加工處理、濾鏡渲染、泛洪算法、識別網址超鏈接等等
pod 'KJExtensionHandler'
pod 'KJExtensionHandler/Foundation'
pod 'KJExtensionHandler/Exception' # 異常處理
基類庫 - 封裝整理常用,採用鏈式處理,提煉獨立工具
pod 'KJBaseHandler'
pod 'KJBaseHandler/Tool' # 工具相關
pod 'KJBaseHandler/Router' # 路由相關
播放器 - KJPlayer是一款視頻播放器,AVPlayer的封裝,繼承UIView
視頻可以邊下邊播,把播放器播放過的數據流緩存到本地,下次直接從緩衝讀取播放
pod 'KJPlayer' # 播放器功能區
pod 'KJPlayer/KJPlayerView' # 自帶展示界面
輪播圖 - 支持縮放 多種pagecontrol 支持繼承自定義樣式 自帶網絡加載和緩存
pod 'KJBannerView' # 輪播圖,網絡圖片加載 支持網絡GIF和網絡圖片和本地圖片混合輪播
加載Loading - 多種樣式供選擇 HUD控件封裝
pod 'KJLoading' # 加載控件
菜單控件 - 下拉控件 選擇控件
pod 'KJMenuView' # 菜單控件
工具庫 - 推送工具、網絡下載工具、識別網頁圖片工具等
pod 'KJWorkbox' # 系統工具
pod 'KJWorkbox/CommonBox'
Github地址:https://github.com/yangKJ
簡書地址:https://www.jianshu.com/u/c84c00476ab6
博客地址:https://blog.csdn.net/qq_34534179
* 如果覺得好用,希望您能Star支持,你的 ⭐️ 是我持續更新的動力!
*
*********************************************************************************
*/
該庫也一直在補充更新中,有需要的朋友可以pod 'KJExtensionHandler'
引入即可,內部很多我也都寫了Demo,不懂的朋友可以去下載看看,還是不懂的話可以給我留言
--> 立志做一個善於總結和記錄的假的程序員 <--