zoukankan      html  css  js  c++  java
  • 13

    第一部分: 分类

    1. NSDate + AYExtension

    /**
     * 判断是否是今年
     *
     *  @param target 代表需要与当前时间进行对比的nsdate对象
     */
    + (BOOL)isThisYearWithTarget:(NSDate *)target;
    
    
    /**
     *  判断是否今天
     *
     *  @param target 代表需要与当前时间进行对比的nsdate对象
     *
     *  @return
     */
    + (BOOL)isTodayWithTarget:(NSDate *)target;
    
    
    /**
     *  判断是否是昨天
     *
     *  @param target <#target description#>
     *
     *  @return <#return value description#>
     */
    + (BOOL)isYesterdayWithTarget:(NSDate *)target;
    
    
    /**
     *  判断是否是前天
     *
     *  @param target <#target description#>
     *
     *  @return <#return value description#>
     */
    + (BOOL)isTheDayBeforeYesterdayWithTarget:(NSDate *)target;
    
    /**
     *  获取今天周几
     *
     *  @return <#return value description#>
     */
    - (NSInteger)getNowWeekday;

    2. UIView + AYExtension

    /**
     *  快速根据xib创建View
     */
    + (instancetype)ay_viewFromXib;
    
    
    // 分类不能添加成员属性
    // @property如果在分类里面,只会自动生成get,set方法的声明,不会生成成员属性,和方法的实现
    @property (nonatomic, assign) CGFloat ay_x;
    @property (nonatomic, assign) CGFloat ay_y;
    @property (nonatomic, assign) CGFloat ay_width;
    @property (nonatomic, assign) CGFloat ay_height;
    @property (nonatomic, assign) CGSize ay_size;
    
    //中心点的x与y
    @property (nonatomic, assign) CGFloat ay_centerX;
    @property (nonatomic, assign) CGFloat ay_centerY;

    3. NSObject + AYExtension

    /**
     *  字典或对象转成JSON字符串数据
     */
    @property (nonatomic, copy, readonly) NSString *JSONString;

    4. UIImage + AYExtension

    - (instancetype)ay_circleImage;
    // 生成一个圆形图片
    + (instancetype)ay_circleImageNamed:(NSString *)name;
    
    // 给定一个不要渲染的图片名称,生成一个最原始的图片
    + (UIImage *)imageWithOriginalImageName:(NSString *)imageName;
    
    // 模糊效果(渲染很耗时间,建议在子线程中渲染)
    - (UIImage *)blurImage;
    - (UIImage *)blurImageWithMask:(UIImage *)maskImage;
    - (UIImage *)blurImageWithRadius:(CGFloat)radius;
    - (UIImage *)blurImageAtFrame:(CGRect)frame;
    
    // 灰度效果
    - (UIImage *)grayScale;
    
    // 固定宽度与固定高度
    - (UIImage *)scaleWithFixedWidth:(CGFloat)width;
    - (UIImage *)scaleWithFixedHeight:(CGFloat)height;
    
    // 平均的颜色
    - (UIColor *)averageColor;
    
    // 裁剪图片的一部分
    - (UIImage *)croppedImageAtFrame:(CGRect)frame;
    
    // 将自身填充到指定的size
    - (UIImage *)fillClipSize:(CGSize)size;

     5. UITextField +  AYExtension

    /** 占位文字颜色 */
    @property (nonatomic, strong) UIColor *ay_placeholderColor;

    6. NSString + AYExtension

    /**
     *  md5加密
     */
    + (NSString*)md5HexDigest:(NSString*)input;
    /**
     *  根据文件名计算出文件大小
     */
    - (unsigned long long)ay_fileSize;
    /**
     *  生成缓存目录全路径
     */
    - (instancetype)cacheDir;
    /**
     *  生成文档目录全路径
     */
    - (instancetype)docDir;
    /**
     *  生成临时目录全路径
     */
    - (instancetype)tmpDir;
    
    /**
     *  @brief 根据字数的不同,返回UILabel中的text文字需要占用多少Size
     *  @param size 约束的尺寸
     *  @param font 文本字体
     *  @return 文本的实际尺寸
     */
    - (CGSize)textSizeWithContentSize:(CGSize)size font:(UIFont *)font;
    
    /**
     *  @brief  根据文本字数/文本宽度约束/文本字体 求得text的Size
     *  @param width 宽度约束
     *  @param font  文本字体
     *  @return 文本的实际高度
     */
    - (CGFloat)textHeightWithContentWidth:(CGFloat)width font:(UIFont *)font;
    
    /**
     *  @brief  根据文本字数/文本宽度约束/文本字体 求得text的Size
     *  @param height 宽度约束
     *  @param font  文本字体
     *  @return 文本的实际长度
     */
    - (CGFloat)textWidthWithContentHeight:(CGFloat)height font:(UIFont *)font;

    第二部分: 工具类

    1. AYFileManager (存储/读取本地数据的快捷实现)

    /** 把对象归档存到沙盒里 */
    +(void)saveObject:(id)object byFileName:(NSString*)fileName;
    
    /** 通过文件名从沙盒中找到归档的对象 */
    +(id)getObjectByFileName:(NSString*)fileName;
    
    /** 根据文件名删除沙盒中的 plist 文件 */
    +(void)removeFileByFileName:(NSString*)fileName;
    
    /** 存储用户偏好设置 到 NSUserDefults */
    +(void)saveUserDefaultData:(id)data forKey:(NSString*)key;
    
    /** 读取用户偏好设置 */
    +(id)readUserDefaultDataForKey:(NSString*)key;
    
    /** 删除用户偏好设置 */
    +(void)removeUserDataForkey:(NSString*)key;

    2. RegularUtils (包含项目常用正则表达式)

    + (NSString *)htmlShuangyinhao:(NSString *)values;
    + (UIColor *) colorWithHexString: (NSString *) stringToConvert;
    + (NSString *) nullDefultString: (NSString *)fromString null:(NSString *)nullStr;
    
    #pragma 正则匹配邮箱号
    + (BOOL)checkMailInput:(NSString *)mail;
    #pragma 正则匹配手机号
    + (BOOL)checkTelNumber:(NSString *) telNumber;
    #pragma 正则匹配用户密码6-18位数字和字母组合
    + (BOOL)checkPassword:(NSString *) password;
    #pragma 正则匹配用户姓名,20位的中文或英文
    + (BOOL)checkUserName : (NSString *) userName;
    #pragma 正则匹配用户身份证号
    + (BOOL)checkUserIdCard: (NSString *) idCard;
    #pragma 正则匹员工号,12位的数字
    + (BOOL)checkEmployeeNumber : (NSString *) number;
    #pragma 正则匹配URL
    + (BOOL)checkURL : (NSString *) url;
    #pragma 正则匹配昵称
    + (BOOL) checkNickname:(NSString *) nickname;
    #pragma 正则匹配以C开头的18位字符
    + (BOOL) checkCtooNumberTo18:(NSString *) nickNumber;
    #pragma 正则匹配以C开头字符
    + (BOOL) checkCtooNumber:(NSString *) nickNumber;
    #pragma 正则匹配银行卡号是否正确
    + (BOOL) checkBankNumber:(NSString *) bankNumber;
    #pragma 正则匹配17位车架号
    + (BOOL) checkCheJiaNumber:(NSString *) CheJiaNumber;
    #pragma 正则只能输入数字和字母
    + (BOOL) checkTeshuZifuNumber:(NSString *) CheJiaNumber;
    #pragma 车牌号验证
    + (BOOL) checkCarNumber:(NSString *) CarNumber;

    3. Single (快速实现一个单例)

    //
    //  Single.h
    //  CreateTools
    //
    //  Created by AY on 16/6/27.
    //  Copyright © 2016年 Jasperay. All rights reserved.
    //
    
    #ifndef Single_h
    #define Single_h
    
    #ifdef __OBJC__
    
    #pragma mark - 单例模式 .h文件内容
    #define SingleInterface(name) +(instancetype)share##name;
    
    
    #pragma mark - 单例模式 .m文件内容
    #if __has_feature(objc_arc)
    #define SingleImplementation(name) +(instancetype)share##name {return [[self alloc]init];} 
    + (instancetype)allocWithZone:(struct _NSZone *)zone { 
    static id instance; 
    static dispatch_once_t onceToken; 
    dispatch_once(&onceToken, ^{ 
    instance = [super allocWithZone:zone]; 
    }); 
    return instance; 
    } 
    - (id)copyWithZone:(NSZone *)zone{return self;} 
    - (id)mutableCopyWithZone:(NSZone *)zone {return self;}
    
    #else
    
    #define SingleImplementation(name) +(instancetype)share##name {return [[self alloc]init];} 
    + (instancetype)allocWithZone:(struct _NSZone *)zone { 
    static id instance; 
    static dispatch_once_t onceToken; 
    dispatch_once(&onceToken, ^{ 
    instance = [super allocWithZone:zone]; 
    }); 
    return instance; 
    } 
    - (id)copyWithZone:(NSZone *)zone{return self;} 
    - (id)mutableCopyWithZone:(NSZone *)zone {return self;} 
    - (instancetype)retain {return self;} 
    - (instancetype)autorelease {return self;} 
    - (oneway void)release {} 
    - (NSUInteger)retainCount {return MAXFLOAT;} 
    
    #endif
    
    #endif
    
    #endif /* Single_h */

    附上地址: http://git.oschina.net/aLonelyRoot3/AYExtension

  • 相关阅读:
    Pset_DistributionChamberElementTypeFormedDuct
    Pset_DistributionChamberElementTypeInspectionChamber
    Pset_DistributionChamberElementTypeInspectionPit
    错误日志
    Pset_DistributionChamberElementTypeManhole
    Pset_DistributionChamberElementTypeMeterChamber
    osg绘制立方体
    Pset_AlarmPHistory
    Pset_ActuatorTypeRotationalActuation
    Pset_ActuatorTypePneumaticActuator
  • 原文地址:https://www.cnblogs.com/chnyang/p/5623940.html
Copyright © 2011-2022 走看看