WBCategoryKit

作者: WenBo丨星空灬 | 来源:发表于2018-02-09 22:15 被阅读0次

    中文说明

    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安装

    • 安装所有分类文件
    pod 'WBCategoryKit'
    
    • 集成子组件
    pod 'WBCategoryKit/UIKit'
    

    或者

    pod 'WBCategoryKit/UIKit/WKWebView'
    

    手动集成

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

    Usage

    Foundation

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

    //朋友圈时间格式

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

    Macro

    //设置平方字体PingFangSC

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

    //主线程安全执行

    #ifndef dispatch_main_async_safe
    #define dispatch_main_async_safe(block) dispatch_queue_async_safe(dispatch_get_main_queue(), block)
    #endif
    

    //同步锁

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

    UIKit

    • WKWebView
    //获取某个标签的结点个数
    - (void)wb_nodeCountOfTag:(NSString *)tag
    completedHandler:(void (^) (int tagCount))completedHandler;
    
    //获取网页中的图片 
    - (void)wb_getImages:(void (^) (NSArray *images))completedHandler;
    
    //获取网页内容高度
    - (void)wb_getScrollHeight:(void (^) (CGFloat scrollHeight))completedHandler;
    
    //为所有图片添加点击事件
    - (void)wb_addClickEventOnImg;
    
    //根据id隐藏网页元素
    - (void)wb_hiddenElementById:(NSString *)idString;
    
    • UIFont
    //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文件,支持三级目录。

    相关文章

      网友评论

        本文标题:WBCategoryKit

        本文链接:https://www.haomeiwen.com/subject/esdqtftx.html