WBCategoryKit

中文说明

Some useful Objective-C ategories and Macro,that contain UIKit.framework、Foundation.framework、AVFoundation.framework、QuartzCore. framework、CoreTelephony.framework、WebKit.framework、MobileCoreServices.framework、Photos.framework、AssetsLibrary.framework、Accelerate.framework、ImageIO.framework、CoreText.framework、CoreGraphics.framework and so on,i will continue to tidy up updates.

iOS 系统常用框架分类封装,开发常用宏定义,支持cocoapod集成,支持只集成子模块。持续更新中…

Requirements

  • iOS 8+
  • Xcode 8+

Installation

Cocoapods安装

  • 安装所有分类文件

    1
    pod 'WBCategoryKit'
  • 集成子组件

    1
    pod 'WBCategoryKit/UIKit'

或者

1
pod 'WBCategoryKit/UIKit/WKWebView'

手动集成

将需要的分类文件拖入工程即可。

Usage

Foundation

  • NSObject
    1
    2
    3
    4
    //swizzle 类方法
    + (void)swizzleClassMethodWithOriginSel:(SEL)oriSel
    swizzledSel:(SEL)swiSel
    selfClass:(Class)selfClass;
1
2
3
4
//swizzle 实例方法 
+ (void)swizzleInstanceMethodWithOriginSel:(SEL)oriSel
swizzledSel:(SEL)swiSel
selfClass:(Class)selfClass;
  • NSDate
    1
    2
    //NSDateFormatter缓存 
    - (NSDateFormatter *)wb_dateFormatterWithFormat:(NSString *)format;

//朋友圈时间格式

1
+ (NSString *)compareCurrentTimeWithTimeString:(NSString *)timeString;

Macro

//设置平方字体PingFangSC

1
2
#define kWB_PFR kWB_SYSTEM_VERSION_9_OR_LATER ? @"PingFangSC-Regular" : @"PingFang SC"
#define kWB_PFR_FONT(s) [UIFont fontWithName:kWB_PFR size:s]

//主线程安全执行

1
2
3
#ifndef dispatch_main_async_safe
#define dispatch_main_async_safe(block) dispatch_queue_async_safe(dispatch_get_main_queue(), block)
#endif

//同步锁

1
2
#define kWB_LOCK(lock) dispatch_semaphore_wait(lock, DISPATCH_TIME_FOREVER);
#define kWB_UNLOCK(lock) dispatch_semaphore_signal(lock);

UIKit

  • WKWebView
    1
    2
    3
    //获取某个标签的结点个数
    - (void)wb_nodeCountOfTag:(NSString *)tag
    completedHandler:(void (^) (int tagCount))completedHandler;
1
2
//获取网页中的图片 
- (void)wb_getImages:(void (^) (NSArray *images))completedHandler;
1
2
//获取网页内容高度
- (void)wb_getScrollHeight:(void (^) (CGFloat scrollHeight))completedHandler;
1
2
//为所有图片添加点击事件
- (void)wb_addClickEventOnImg;
1
2
//根据id隐藏网页元素
- (void)wb_hiddenElementById:(NSString *)idString;
  • UIFont

    1
    2
    3
    4
    5
    //runtime字体适配
    + (UIFont *)_wb_systemFontOfSize:(CGFloat)fontSize;
    + (UIFont *)_wb_boldSystemFontOfSize:(CGFloat)fontSize;
    + (UIFont *)_wb_fontWithName:(NSString *)fontName
    size:(CGFloat)fontSize;

    更多分类使用方法,请查看WBCategoryKit

    补充

    本库主要是记录自己积累学习的一个过程,最初在github创建这个工程的时候,我就在自己的博客中写道将来有一天将本库制作成pod公有库,如今完成了本库的制作,虽然在制作过程中遇到了很多的问题,但还是很有成就感。如过在使用过程中,有任何建议或者问题,可以通过以下方式联系我,十分感谢。

author:wenbo
QQ:1050794513
email:1050794513@qq.com
喜欢就❤️下鼓励下吧。

更新

  • 2018-09-05 (1.0.2): 修改podspec文件,支持三级目录。
-------------本文结束感谢您的阅读-------------
分享到:
0%