iOS KJExtensionHandler庫工具簡單介紹

簡單介紹這個庫的大致內容:Category各種工具集合,Button圖文混排、點擊事件封裝、擴大點擊域,手勢封裝、圓角漸變、Xib屬性、TextView輸入框擴展、限制字數,圖片加工處理、濾鏡渲染、泛洪算法,富文本,投影,倒影,內發光,外發光,內陰影,外陰影,數組和字典防崩處理,數組算法處理等等等

本庫主要包含三大塊:UIKit類、Foundation類、Language 多語言類

備註:很多采用了方法交換,但是很多都不是直接在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,不懂的朋友可以去下載看看,還是不懂的話可以給我留言

--> 立志做一個善於總結和記錄的假的程序員 <--

End

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章